Ansible 如何在长时间运行playbook的同时保持会话活动?
我正在运行ansible playbook来重新启动我们的一些服务器,但在每次服务器重新启动之间,我们需要睡眠40分钟,所以如果我在playbook中睡眠40分钟,它会睡眠一段时间,但随后我的会话在prod的Ubuntu box上终止,整个脚本也会停止。我可以在ansible playbook中添加任何内容,以便在整个playbook运行期间保持会话的活跃性吗Ansible 如何在长时间运行playbook的同时保持会话活动?,ansible,ansible-2.x,Ansible,Ansible 2.x,我正在运行ansible playbook来重新启动我们的一些服务器,但在每次服务器重新启动之间,我们需要睡眠40分钟,所以如果我在playbook中睡眠40分钟,它会睡眠一段时间,但随后我的会话在prod的Ubuntu box上终止,整个脚本也会停止。我可以在ansible playbook中添加任何内容,以便在整个playbook运行期间保持会话的活跃性吗 # This will restart servers --- - hosts: tester serial: "{{ num_se
# This will restart servers
---
- hosts: tester
serial: "{{ num_serial }}"
tasks:
- name: copy files
copy: src=conf.prod dest=/opt/process/config/conf.prod owner=goldy group=goldy
- name: stop server
command: sudo systemctl stop server_one.service
- name: start server
command: sudo systemctl start server_one.service
- name: sleep for 40 minutes
pause: minutes=40
我想在不终止linux会话的情况下睡眠40分钟,然后转到下一组服务器重新启动
我正在运行ansible 2.6.3版本。您可以在内部运行ansible脚本,以便即使在断开连接后仍保持会话的活动状态 基本上,您要做的是将ssh连接到生产服务器,运行screen,然后在新创建的会话中执行playbook
如果断开连接,您可以重新连接到服务器,然后运行screen-r返回保存的会话。因此,如果在screen会话中运行ansible脚本,它将不会被终止?您可能会断开与服务器的连接。但是你可以重新连接到服务器,运行screen-r,你的会话就会回来。所以,如果我断开连接,但我的ansible playbook仍会继续运行,对吗?我可以通过执行
screen-r
检查是否正确?当你说我的会话将返回时,我的playbook将在该会话中运行,对吗?是的,你连接回服务器,然后执行screen-rIf,如果我有一段时间没有连接回服务器,那么我的playbook仍将在该会话中运行?只是确定一下。