我正在玩盐,我走到了死胡同。
我的状态文件应该在编辑/更改文件之前备份文件。 我不喜欢内置备份功能,因为(据我所知),当我运行备份时,它将文件复制到/ var / cache / salt / minion / ....如果我这样做的话再次运行备份将覆盖最后一个版本 所以,我在bash中创建了一个备份脚本 该脚本处理两个参数[要备份的文件] [注释]
我的计划是在每个更改我的minion文件的状态之前运行脚本。
那是我的sls文件:
bck:
#Copy the backup script to minion
file.managed:
- name: /bin/bck
- source: salt://bin/bck
- template: jinja
- user: root
- group: root
- mode: 0773
myscript:
cmd.run:
- name: /bin/bck
#- name: /bin/bck /etc/sysctl.conf GILI > /dev/null 2>&1
- cwd: /
# - stateful: True
vm.swappiness:
sysctl.present:
# - cmd: myscript {{ GILI }}
- cmd: myscript /etc/sysctl.conf GILI
# - args: "/etc/sysctl.conf GILI > /dev/null 2>&1"
# - GILI: /etc/hosts GGGGGGG
- value: 20
评论没有用,而且该示例也没有用(我无法看到我的bck脚本正在运行。
如果我从&#34中删除评论; # - 有状态:真实"脚本运行正常,但它独立运行,而不是从" vm.swappiness"
请帮助:)
吉利答案 0 :(得分:1)
您想要使用"要求"将这些链接在一起。另外,我可能会使用my_backup_script:
cmd.script:
- source: salt://bin/bck
vm.swappiness:
sysctl.present:
- value: 20
- require:
- cmd: my_backup_script
作为备份脚本。它看起来像这样:
Friend Shared ReadOnly Property twolettercountrycode As Generic.Dictionary
Get
Static _twolettercountryCodeDict As Generic.Dictionary = Nothing
If _twolettercountryCodeDict Is Nothing Then
_twolettercountryCodeDict = New Generic.Dictionary(Of String, String) From {{"ty", "turkey"}, {"py", "pakinmay"}, {"ra", "romania"}, {"vm", "vietnam"}, {"bl", "brazil"}, {"et", "egypt"}, {"ka", "korea"}}
Dim listOfCountries = fileToCol(COUNTRYCODESFileName)
For Each var In listOfCountries
Dim ar = var.Split({"*"}, System.StringSplitOptions.None).ToList()
_twolettercountryCodeDict.Add(LCase(ar(1)), UCase(ar(0)))
Next
End If
return _twolettercountryCodeDict
End Get
End Property