你可以使用Ansible的wait_for
模块来实现重启远程主机后等待60秒再重启下一个远程主机的需求。以下是一个示例的Ansible playbook文件:
---
- name: Restart remote hosts with delay
hosts: all
gather_facts: false
tasks:
- name: Reboot remote host
reboot:
reboot_timeout: 300
post_reboot_delay: 60
become: true
- name: Wait for remote host to be back online
wait_for_connection:
delay: 5
sleep: 2
timeout: 300
delegate_to: localhost
在这个示例中,reboot
任务会重启远程主机,并设置post_reboot_delay
参数为60秒,表示重启后等待60秒再执行下一个任务。wait_for_connection
任务会等待远程主机重新上线。
你可以将以上代码保存为一个playbook文件(例如restart_hosts.yml
),然后使用如下命令来运行它:
ansible-playbook restart_hosts.yml
请注意,这个示例假设你已经正确设置了Ansible的主机清单文件,并且已经配置了免密登录或使用了正确的SSH认证方式。