web-dev-qa-db-ja.com

ファイルが存在することを確認し、シンボリックリンクを作成します

私はそのようなことをしたい:

ファイルAが存在するか、シンボリックリンクBがない場合は、シンボリックリンクB-> Aを作成します。

今のところ私は持っています:

 B:
   file:
    - symlink:
       - target: A
    - exists:
        - name: A

しかし、これは悪いことです。私が欲しいものをチェックしません。どうすればこの単純なことを塩で達成できますか?

12
Darek

file.directory_existsを使用できます

{% if not salt['file.directory_exists' ]('/symlink/path/A') %}
symlink:
  file.symlink:
    - name: /path/to/A
    - target: /symlink/path/A
{% endif %}
42
Abhilash Joseph

ファイルの存在を確認する方法の基礎として、 Dan Garthwaite の優れた答え ここ を使用する必要があります。私はあなたの質問に答えるために彼の解決策を修正しました。

{% if 1 == salt['cmd.retcode']('test -f /path/to/A') %}
/path/to/A:
  file.symlink:
    - target: /symlink/path/A
{% endif %}
10
Jason Zhu