/etc/nginx/conf.d
ディレクトリ内のファイルが作成または変更されるたびに、nginxサービスを再起動したいと思います。
そのディレクトリには多数のファイルがあり、特定のファイルを指定するのではなく、すべての変更を監視したいと思います。
私はこれを試しました:
nginx:
pkg.installed:
- name: nginx
service:
- running
- enable: True
- restart: True
- watch:
- file: /etc/nginx/nginx.conf
- file: /etc/nginx/conf.d
- pkg: nginx
しかし、行- file: /etc/nginx/conf.d
は私が望むことをしていません。
これはエラーです:
ID: nginx
Function: service.running
Result: False
Comment: The following requisites were not found:
watch:
file: /etc/nginx/conf.d
Changes:
末尾のスラッシュを含むいくつかのバリエーションも試しましたが、どれも機能しません。
- file: /etc/nginx/conf.d/
を何に変更する必要がありますか?
マッチングにグロブを使用しています:
file: /etc/nginx/conf.d/*
修正されたスニペットは次のとおりです。
nginx:
pkg.installed:
- name: nginx
service:
- running
- enable: True
- restart: True
- watch:
- file: /etc/nginx/nginx.conf
- file: /etc/nginx/conf.d/*
- pkg: nginx
また、saltは、状態ファイルですでに指定されている他の状態のみを監視できるため、salt自体によって管理されているファイルのみを監視することに注意してください。
これがうまくいかない場合は、別の解決策について次のリンクを参照してみてください: http://intothesaltmine.org/blog/html/2012/12/18/using_watch_with_file_recurse.html
issue 66 2012年2月に閉鎖されたとのことですが、/path/*
の監視は再帰的に監視する必要があります。