如果你只維護著1臺機器,這篇文章對你可能就沒啥用處了。
如果你維護著大量的linux主機,就需要這樣乙個指令碼幫助你完成日常維護工作,指令碼很簡單,主要是提供乙個思路,其他功能的腳步都可以按照此指令碼的流程實現。
1、首先你需要指定一台主機作為信任主機,這樣從這台主機登入其他機器就不需要密碼了。
如何設定信任主機?
假設有四台機器:
192.168.2.1~192.168.2.4,其中192.168.2.1為信任機,那麼在192.168.2.1上執行如下命令:
ssh-keygen -t rsa //此處一路回車,生成秘鑰
scp .ssh/id_rsa.pub 192.168.2.2:~/ //把秘鑰拷貝到其他遠端機器
ssh
192.168.2.2
'cat id_rsa.pub >> .ssh/authorized_keys' //(遠端執行命令)在遠端機器上生成認證檔案
經過這幾步,從192.168.2.1 ssh登陸192.168.2.2時,就不會再需要輸入密碼了。同樣的步驟再執行3、4的極其。
2、在信任機器上建立hostlist文字,(和指令碼放在同一目錄)
文字檔案hostlist可以如下
192.168.2.2
192.168.2.3
192.168.2.4
3、建立docommand.sh指令碼:
#!/bin/sh
docommand()
if [ $# -lt 1 ]
then
echo "$0 cmd"
exit
fi docommand "$@"
echo "return from docommand"
執行命令(記得先對docommand.sh增加執行許可權 chmod u+x docommand.sh)
./docommand.sh 「ls -al /root/」
這樣該指令碼就會在每台機器上執行」ls -al /root/」這個命令,並返回結果在信任主機上。
Linux操作多台主機指令碼 工具
1,用指令碼從信任主機下發命令到多台主機 不複製檔案只執行命令的情況下 首先需要指定一台主機作為信任主機,這樣從這台主機登入其他機器就不需要密碼了。如何設定信任主機 以node1為例 ssh keygen cat ssh id rsa.pub ssh authorized keys chmod 70...
Linux 批量給主機傳金鑰的指令碼
使用本指令碼需要在建立 tmp hosts 檔案,寫入所有主機資訊和密碼格式為hostname ip password bin bash 使用本指令碼需要在建立 tmp hosts檔案,寫入所有主機資訊和密碼格式為 hostname password rpm qa grep expect dev n...
Oceanbase多台主機間用指令碼同步檔案的方法
bin bash dir dirname 0 bin dir bin etc dir etc lib dir lib remote addr xiao 10.1.1.1 tb ob test2 cs cmd chunkserver cs conf chunkserver.conf ms cmd me...