Linux
如何在單個命令或腳本中關閉多台 linux 機器?
我有 10 多台 Linux 機器。如何使用單個腳本關閉所有機器?
所有機器的密碼和使用者都是相同的。
有很多可能做到這一點。
一種選擇是在不提示輸入密碼的情況下使用 ssh 密鑰對而不是 ssh 密碼。然後,您可以這樣做:
#!/bin/bash for server; do ssh $server 'halt; exit'; done
用法:
./script.bash server1 server2 1.2.3.4
嘗試使用ansible。
安裝ansible:
apt-get install ansible
將您的主機添加到主機文件:
vim /etc/ansible/hosts server1 server2 server3
生成 ssh 密鑰並將其添加到遠端伺服器上:
ssh-keygen cat /etc/ansible/hosts | xargs -i ssh-copy-id {}
在伺服器上執行關機:
ansible all -m shell -a "shutdown -h now"
您可以在關機前後通過命令檢查主機可用性:
ansible all -m ping