2014-05-17 9 views
19

Tôi muốn dịch vụ nginx khởi động lại bất cứ khi nào bất kỳ tệp nào trong thư mục /etc/nginx/conf.d được tạo hoặc sửa đổi.SaltStack: Trong tuyên bố xem, làm cách nào để chỉ định thư mục mà tất cả các tệp sẽ được xem?

Có một số tệp trong thư mục đó và thay vì chỉ định các tệp cụ thể, tôi muốn xem tất cả các thay đổi.

Tôi đã thử điều này:

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

nhưng dòng - file: /etc/nginx/conf.d không làm những gì tôi muốn.

Đây là lỗi:

 ID: nginx 
Function: service.running 
    Result: False 
Comment: The following requisites were not found: 
          watch: 
           file: /etc/nginx/conf.d 
Changes: 

Tôi cũng đã thử một số biến thể bao gồm một dấu gạch chéo, nhưng không ai trong số họ làm việc.

Điều gì nên - file: /etc/nginx/conf.d/ được thay đổi thành?

+0

Tôi chưa bao giờ thử những gì bạn đang làm, nhưng tôi tò mò về các tùy chọn gắn kết chính xác dành cho hệ thống tệp đích của bạn là gì? 'grep root/proc/mounts ' –

+0

rootfs/rootfs rw 0 0 –

Trả lời

22

Tôi đang sử dụng một glob cho phù hợp:

file: /etc/nginx/conf.d/* 

Sau đây là đoạn điều chỉnh:

nginx: 
    pkg.installed: 
    - name: nginx 
    service: 
    - running 
    - enable: True 
    - restart: True 
    - watch: 
     - file: /etc/nginx/nginx.conf 
     - file: /etc/nginx/conf.d/* 
     - pkg: nginx 

Cũng làm lưu ý muối chỉ có thể xem các tiểu bang khác mà đã được quy định trong hồ sơ tiểu bang của bạn , do đó, nó sẽ chỉ xem các tập tin được quản lý bởi chính muối.

Nếu điều này không làm việc cho bạn, sau đó cố gắng tham khảo liên kết sau kiếm một giải pháp khác nhau: http://intothesaltmine.org/blog/html/2012/12/18/using_watch_with_file_recurse.html

+1

Tôi ở cùng vị trí với OP và vì lý do tương tự. Và tôi đang sử dụng một giải pháp giống như giải pháp bạn trình bày. Nhưng nó vẫn không hoạt động đúng. Đặc biệt, 'watch' chỉ kích hoạt tải lại khi một tệp trong các thay đổi' conf.d', không phải khi tệp được thêm vào 'conf.d'. Tôi nghĩ. Tôi vẫn đang cố gỡ lỗi này. – nomen

2

Theo issue 663 đóng cửa vào tháng 2 năm 2012, một chiếc đồng hồ trên /path/* nên xem đệ quy.

Các vấn đề liên quan