歡迎您光臨本站 註冊首頁

Linux多台主機批量命令腳本

←手機掃碼閱讀     火星人 @ 2014-03-03 , reply:0

如果你維護著大量的Linux主機,就需要這樣一個腳本幫助你完成日常維護工作,腳本很簡單,主要是提供一個思路,其他功能的腳步都可以按照此腳本的流程實現。

首先你需要指定一台主機作為信任主機,這樣從這台主機登錄其他機器就不需要密碼了。

如何設置信任主機?

ssh-keygen -t rsa -N 「」

cat /root/.ssh/id_rsa.pub|ssh IP 『cat>>.ssh/authorized-keys』

在信任主機上執行上述命令,紅色IP處填其他機器的IP地址,這樣從信任主機登錄該IP就不需要密碼了。

一個含有其他機器IP地址的hostlist文本文件hostlist,放在信任主機上(和腳本放在同一目錄)

比如你有4台機器IP地址分別為192.168.2.1~192.168.2.4

文本文件hostlist可以如下

192.168.2.1

192.168.2.2

192.168.2.3

192.168.2.4

腳本會按行去遍歷hostlist

doCommand 腳本

01#!/bin/sh
02 
03doCommand()
04{
05        hosts=`sed -n '/^[^#]/p' hostlist`
06        for host in $hosts
07        do
08                echo ""
09                echo HOST $host
10                ssh $host "$@"
11        done
12        return 0
13}
14 
15if [ $# -lt 1 ]
16then
17        echo "$0 cmd"
18        exit
19fi
20doCommand "$@"
21echo "return from doCommand"

 執行命令(記得先對doCommand.sh增加執行許可權 chmod u+x doCommand.sh)

./doCommand.sh 「ls -al /root/」

這樣該腳本就會在每台機器上執行」ls -al /root/」這個命令,並返回結果在信任主機上。

 


[火星人 ] Linux多台主機批量命令腳本已經有860次圍觀

http://coctec.com/docs/service/show-post-170.html