saltstack:仅在不存在的情况下创建目录

cmi*_*idi 6 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
Run Code Online (Sandbox Code Playgroud)

现在我想只在目录不存在的情况下才在新的minions上创建一个目录.

Uta*_*ave 12

虽然您的示例确实有效,但没有必要.file.directory只有在目录不存在时才会尝试创建目录.


cmi*_*idi 8

原来很简单,并且在salt-stack文档中有详细记录以下是我想出的内容.

{% 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 %}
Run Code Online (Sandbox Code Playgroud)

  • 如果您的目的是创建目录(如果目录不存在),则简单的“file.directory”就足够了。如果根目录不存在,则使用“makedirs=True”。我用它来设置 SLS 中的模式/权限(如果存在)(使用“recurse”选项) (2认同)