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