Shell脚本实现线上服务器之间对比文件是否一致
2014-12-27 00:00
686 查看
工作中有时需要对比文件是否一致,通过以下脚本可以实现(比较简单):分享出来,希望能帮助到有同样需求的朋友~
对比的IP地址写入host.txt,需要对比的文件(支持多个文件)写入file.txt
输出结果为:
#!/bin/bash #对比服务器上文件是否一样 # 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
对比的IP地址写入host.txt,需要对比的文件(支持多个文件)写入file.txt
输出结果为:
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
相关文章推荐
- Shell脚本实现线上服务器之间对比文件是否一致
- [shell]线上服务器之间对比文件是否一致
- Shell脚本实现检测文件是否被修改过代码分享
- linux使用shell脚本实现自动登录scp传输文件到其他服务器
- 实现两个文件内容逐行进行对比的shell脚本
- Shell脚本实现上传zip压缩文件到FTP服务器
- Shell脚本实现复制文件到多台服务器的代码分享
- 多linux服务器之间实现文件自动复制(脚本)
- 利用SHELL脚本实现将Oracle数据库的每日EXPDP导出文件复制到远程服务器
- linux 用expect脚本实现scp服务器之间的文件备份
- shell脚本实现自动压缩一天前的日志文件并传到ftp服务器上
- Shell脚本实现检测文件是否被修改过代码分享
- [shell实例]——用脚本实现向多台服务器批量复制文件(nmap、scp)
- shell脚本实现本地文件与服务器文件同步
- Shell脚本实现复制文件到多台服务器的代码分享
- shell小脚本实现上传目录中的所有文件到服务器
- 两台服务器之间备份目录或文件的shell脚本
- shell脚本实现两个文件的逐行对比
- 使用shell脚本进行服务器系统监控——文件系统监控(5)
- shell脚本实现到ftp下载所需文件并将源文件删除