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"'

 

转载于:https://www.cnblogs.com/dingzp/p/10991551.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值