shell习题第22题:
Posted dingzp
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell习题第22题:相关的知识,希望对你有一定的参考价值。
【题目要求】
加入A服务器可直接ssh到B,不用输入密码。A和B都有一个目录是/data/web/这下有很多文件,我们不知道这下面有多少层目录,但是之前的目录结构和文件是一模一样的。但是现在不确定是否一致。
所以以A为标准,检测AB不同的文件,看看哪些文件是被修改过的
【核心要点】
md5sum file
【脚本】
#!/bin/bash dir=/data/web [ -f /tmp/md5.list ] && rm -f /tmp/md5.list while read line do md5sum $line >> /tmp/md5.list done < /tmp/md5.list # 拷贝到B服务器 echo "scp /tmp/md5.list B:/tmp" # 嵌入文档 EOF [ -f /tmp/check_md5.sh ] && rm -f /tmp/check_md5.sh cat > /tmp/check_md5.sh << EOF #!/bin/bash dir=/data/web while read line do file_name=`echo \$line | awk ‘print $2‘` md5=`echo \$line | awk ‘print $1` if [ -f $file_name ]; then md5_b=`md5sum \$file_name` if [ \$md5_b != \$md5_b ]; then echo "\$file_name changed." fi else echo "\$file_name lose." fi done < /tmp/md5.list EOF echo "scp /tmp/check_md5.sh B:/tmp/" echo ‘ssh B "/bin/bash /tmp/check_md5.sh"‘
以上是关于shell习题第22题:的主要内容,如果未能解决你的问题,请参考以下文章