zhangyw ha revisionato questo gist . Vai alla revisione
1 file changed, 28 insertions
check_file_md5_bewteen_tow_host.sh(file creato)
| @@ -0,0 +1,28 @@ | |||
| 1 | + | #!/bin/bash | |
| 2 | + | ##################################### | |
| 3 | + | #检测两台服务器指定目录下的文件一致性 | |
| 4 | + | ##################################### | |
| 5 | + | #通过对比两台服务器上文件的md5值,达到检测一致性的目的 | |
| 6 | + | dir=/data/web | |
| 7 | + | b_ip=192.168.88.10 | |
| 8 | + | #将指定目录下的文件全部遍历出来并作为md5sum命令的参数,进而得到所有文件的md5值,并写入到指定文件中 | |
| 9 | + | find $dir -type f|xargs md5sum > /tmp/md5_a.txt | |
| 10 | + | ssh $b_ip "find $dir -type f|xargs md5sum > /tmp/md5_b.txt" | |
| 11 | + | scp $b_ip:/tmp/md5_b.txt /tmp | |
| 12 | + | #将文件名作为遍历对象进行一一比对 | |
| 13 | + | for f in `awk '{print 2} /tmp/md5_a.txt'` | |
| 14 | + | do | |
| 15 | + | #以a机器为标准,当b机器不存在遍历对象中的文件时直接输出不存在的结果 | |
| 16 | + | if grep -qw "$f" /tmp/md5_b.txt | |
| 17 | + | then | |
| 18 | + | md5_a=`grep -w "$f" /tmp/md5_a.txt|awk '{print 1}'` | |
| 19 | + | md5_b=`grep -w "$f" /tmp/md5_b.txt|awk '{print 1}'` | |
| 20 | + | #当文件存在时,如果md5值不一致则输出文件改变的结果 | |
| 21 | + | if [ $md5_a != $md5_b ] | |
| 22 | + | then | |
| 23 | + | echo "$f changed." | |
| 24 | + | fi | |
| 25 | + | else | |
| 26 | + | echo "$f deleted." | |
| 27 | + | fi | |
| 28 | + | done | |
Più nuovi
Più vecchi