2014-05-17 10 views
19

Chciałbym, aby usługa nginx została uruchomiona ponownie po utworzeniu lub zmodyfikowaniu dowolnego pliku w katalogu /etc/nginx/conf.d.SaltStack: W instrukcji watch, jak określić katalog, w którym powinny być śledzone wszystkie pliki?

Istnieje wiele plików w tym katalogu, a zamiast określać konkretne pliki, chciałbym obejrzeć wszystkie zmiany.

Próbowałem to:

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

ale linia - file: /etc/nginx/conf.d nie robi tego, co chcę.

Jest to błąd:

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

Próbowałem również szereg wariacji tym ukośnika, ale żaden z nich nie działa.

Co należy zmienić na - file: /etc/nginx/conf.d/?

+0

Nigdy nie próbowałem tego, co robisz, ale jestem ciekawy, jakie są dokładne opcje montowania dla docelowego systemu plików? 'grep root/proc/mounts' –

+0

rootfs/rootfs rw 0 0 –

Odpowiedz

22

Używam glob Dopasowanie:

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

Oto poprawiony fragment:

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

Również należy pamiętać, że sól można oglądać tylko inne stany, które są już określone w pliku państwowej , więc będzie tylko oglądać pliki zarządzane przez samą sól.

Jeśli to nie zadziała, spróbuj zwrócić na poniższy link na inne rozwiązanie: http://intothesaltmine.org/blog/html/2012/12/18/using_watch_with_file_recurse.html

+1

Jestem w tej samej sytuacji, co OP, iz tego samego powodu. I używam rozwiązania podobnego do tego, które prezentujesz. Ale nadal nie działa poprawnie. W szczególności "watch" uruchamia tylko przeładowanie, gdy zmienia się plik w 'conf.d', a nie gdy plik jest dodawany do' conf.d'. Myślę. Nadal próbuję to debugować. – nomen

2

Według issue 663 zamknięty w lutym 2012 roku, zegarek na /path/* powinny oglądać rekurencyjnie.

Powiązane problemy