私はCentOS Linuxサーバーを管理するためにSpacewalkバージョン2.9を使用しています。次の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