我正在使用 Spacewalk 2.9 版来管理我的 CentOS Linux 服务器。使用以下spacecmd
命令推送新包。我想在计算机上安装所有软件包后重新启动服务器。我不确定如何监控软件包升级并发出重新启动命令。有什么建议可以实现这一目标吗?我想使用 Ansible playbook 来重新启动。
spacecmd system_upgradepackage <hostname> '*' -y
谢谢SR
答案1
spacecmd
Ansible 可以在不使用, 使用命令的情况下重新启动服务器reboot
。
- name: Upgrading via spacewalk
shell: spacecmd system_upgradepackage <hostname> '*' -y
- name: Reboot after upgrades
shell: reboot
async: 0
poll: 0
- name: Waiting for host to come up
local_action: wait_for host={{ ansible_ssh_host }} state=started
改编自:https://www.linux.com/tutorials/ansible-reboot-server-play-book-and-wait-it-come-back
答案2
我不熟悉spacecmd
,但是你可以使用该wait_for
模块来监控PID。
来自文档:
- name: Wait until the process is finished and PID was destroyed
wait_for:
path: /proc/3466/status
state: absent