1
我想編寫一個劇本來同步源文件到目標主機,並在文件更改後重新啓動tomcat/apache。如果可能的話,關於同步的文檔沒有給出任何示例。任何人都可以提供一些指針?Ansible同步並執行操作(如果已更改)
我想編寫一個劇本來同步源文件到目標主機,並在文件更改後重新啓動tomcat/apache。如果可能的話,關於同步的文檔沒有給出任何示例。任何人都可以提供一些指針?Ansible同步並執行操作(如果已更改)
如果您只更改一個文件,則可能需要使用copy
而不是synchronize
。但是,這種方法應該可以工作。
handler system是專爲這種事情設計的。該文件存在提供了一個配置文件,更改後彈跳memcached的一個例子:
下面是重啓兩個服務的一個例子,當一個 文件的內容發生變化,但前提是該文件的變化:
- name: template configuration file template: src=template.j2 dest=/etc/foo.conf notify: - restart memcached - restart apache
任務的通知部分中列出的內容稱爲處理程序。
處理程序是任務列表,沒有真正從正規 任務,由一個全球唯一的名稱進行引用,並通過通知程序通知 任何不同。如果沒有任何通知處理程序,它將不會運行。 無論有多少任務通知處理程序,它只會在特定遊戲中的所有任務完成後才運行一次, 。
下面是一個例子處理器部分:
handlers: - name: restart memcached service: name=memcached state=restarted - name: restart apache service: name=apache state=restarted