2016-03-21 9 views
2
nginx 
    pkg.installed: 
    - name: nginx 
    service: 
    - name: nginx 
    - running 
    - enable: True 
    - watch: 
     - file: /etc/nginx/* 

/etc/nginx: 
    file.recurse: 
    - source: salt://{{slspath}}/etc/nginx/ 
    - include_empty: True 

上記の作業を行うにはどうすればよいですか? 新しい設定が/etc/nginx/conf.d/newsite.confに追加されるたびに、nginxがリロードされるようにしたいと思います。Saltstack - ディレクトリ全体の変更を監視する方法は?

私は手動的にSLS内のすべてのconfを追加した場合、現在、私は唯一のことを達成することができます:それを自動化する方法が

/etc/nginx/conf.d/newsite.conf: 
    file.managed: 
    - source: salt://{{slspath}}/etc/nginx/conf.d/newsite.conf 

ありますか?

+0

は、あなたが代替としてincronに見たことがありますか? –

+0

ええと、私はinotifyについて知っていますが、これは違うので、20台のサーバに変更を適用したいのですが、nginxフォルダに変更があった場合にのみサービスを再ロードしてください。私は各サーバーでイントロンを行うことができましたが、出力とすべてがソルトスタックを通過するようにしたいと思います。 – ivom

答えて

3

ディレクトリ内でファイルの変更を監視して状態を実行することはできません。しかし、あなたはそうするために州の結果を見ることができます。変更が/etc/nginxファイル状態で行われるたびに、あなたのケースでは、次のようにnginxを再起動する必要があります。

nginx 
    pkg.installed: 
    - name: nginx 
    service.running: 
    - enable: True 
    - watch: 
     - file: /etc/nginx 

/etc/nginx: 
    file.recurse: 
    - source: salt://{{slspath}}/etc/nginx/ 
    - include_empty: True 
+0

イェップ!それはうまくいく、ありがとう。 – ivom

関連する問題