Linux saltstack:仅当不存在时创建目录
目前,我有以下创建目录的规则Linux saltstack:仅当不存在时创建目录,linux,salt-stack,Linux,Salt Stack,目前,我有以下创建目录的规则 /init/dir: file.recurse: - source: salt://init_dir/init - user: name - group: group - name: /path/init - dir_mode: 2775 - file_mode: 777 现在我只想在新仆从不存在的情况下创建一个目录 结果证明非常简单,在盐堆文档中有很好的记录 下面是我想到的 {% if not salt
/init/dir:
file.recurse:
- source: salt://init_dir/init
- user: name
- group: group
- name: /path/init
- dir_mode: 2775
- file_mode: 777
现在我只想在新仆从不存在的情况下创建一个目录 结果证明非常简单,在盐堆文档中有很好的记录 下面是我想到的
{% if not salt['file.directory_exists' ]('/home/init_dir') %}
/home/init_dir:
file.directory:
- user: user
- name: /home/init_dir
- group: group
- mode: 755
{% else %}
cmd.run:
- name: echo "Directory exists"
{% endif %}
虽然您的示例确实有效,但它不是必需的<代码>文件。目录仅在目录不存在时才会尝试创建该目录。我不明白你的意思,只有在尚未应用的情况下才始终应用salt状态。无论如何,创建一个目录的行为都是这样的(不管是什么salt)。在某些情况下,当目录存在时,file.directory将失败。例如,如果目录是FUSE文件系统的装入点,则装入文件系统时,装入点将显示为文件,从而导致file.directory状态失败。如果您的目的是在目录不存在时创建目录,则简单的“file.directory”即可。如果根目录不存在,则使用
makedirs=True
。我用它来设置SLS中的模式/perms(如果存在的话)(使用recurse
选项)