Shell腳本實(shí)現(xiàn)線上服務(wù)器之間對(duì)比文件是否一致
更新時(shí)間:2014年12月27日 11:43:53 投稿:junjie
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)線上服務(wù)器之間對(duì)比文件是否一致,本文腳本在特殊環(huán)境下使用,需要的朋友可以參考下
工作中有時(shí)需要對(duì)比文件是否一致,通過(guò)以下腳本可以實(shí)現(xiàn)(比較簡(jiǎn)單):分享出來(lái),希望能幫助到有同樣需求的朋友~
復(fù)制代碼 代碼如下:
#!/bin/bash
#對(duì)比服務(wù)器上文件是否一樣
# Richard shen 2012/07/08
LC_ALL='en_US.UTF-8'
basedir=`dirname $0`
HOST=$basedir/host.txt
PASSWD="abcd" #密碼
FILE=$basedir/file.txt
LOG=$basedir/tmp.log
>$LOG
[ ! -f /usr/bin/nc ] && yum -y install nc
[ ! -f /usr/bin/expect ] && yum -y install expect
auto_smart_ssh () {
expect -c "set timeout -1;
spawn ssh -o StrictHostKeyChecking=no $2 ${@:3};
expect {
*assword:* {send -- $1\r;
expect {
*denied* {exit 2;}
eof
}
}
eof {exit 1;}
}
"
# return $?
}
num=0
for file in `cat $FILE`;do
for host in `cat $HOST`;do
[[ $host =~ "^#" ]] && continue
let 'num++'
if ! /usr/bin/nc -w 1 $host 22 > /dev/null; then
echo " ssh connect failed." | tee -a $LOG
continue
else
echo -e "\e[32m$host ($FILE) MD5 compared files...\e[0m"
auto_smart_ssh $PASSWD root@$host md5sum $file | grep $file | grep -v StrictHostKeyChecking | tee -a $LOG
fi
done
echo "----------------------------------------------------------"
done
對(duì)比的IP地址寫(xiě)入host.txt,需要對(duì)比的文件(支持多個(gè)文件)寫(xiě)入file.txt
輸出結(jié)果為:
復(fù)制代碼 代碼如下:
192.168.113.108 (./file.txt) MD5 compared files...
c84509bb3b109506935dba56b667a136 /data/server/www/apps/ad/fullcollumn.html
192.168.113.111 (./file.txt) MD5 compared files...
c84509bb3b109506935dba56b667a136 /data/server/www/apps/ad/fullcollumn.html
----------------------------------------------------------
192.168.113.108 (./file.txt) MD5 compared files...
d2c965f5222ff47432313c76863f428d /data/server/www/apps/ad/sky.html
192.168.113.111 (./file.txt) MD5 compared files...
d2c965f5222ff47432313c76863f428d /data/server/www/apps/ad/sky.html
相關(guān)文章
Shell腳本通過(guò)參數(shù)名傳遞參數(shù)的實(shí)現(xiàn)代碼
這篇文章主要介紹了Shell腳本通過(guò)參數(shù)名傳遞參數(shù)的實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02linux shell之控制臺(tái)打印各種顏色字體和背景的實(shí)現(xiàn)方法
今天小編就為大家分享一篇關(guān)于linux shell之控制臺(tái)打印各種顏色字體和背景的實(shí)現(xiàn)方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-04-04Shell腳本生成Go的程序包的實(shí)現(xiàn)步驟
通過(guò)編寫(xiě)Shell腳本,我們可以大大簡(jiǎn)化Golang項(xiàng)目的打包和部署流程,本文就來(lái)介紹一下Shell腳本生成Go的程序包的實(shí)現(xiàn)步驟,感興趣的可以了解一下2024-01-01shell檢測(cè)某個(gè)文件/文件夾是否存在詳細(xì)實(shí)例
shell是一個(gè)用?C?語(yǔ)言編寫(xiě)的程序,它是用戶使用Linux的橋梁,下面這篇文章主要給大家介紹了關(guān)于shell檢測(cè)某個(gè)文件/文件夾是否存在的相關(guān)資料,需要的朋友可以參考下2023-06-06