Shell脚本实现监控rsync数据是否传输完

今天有台服务器a要把网站程序全部传输到另外一台服务器b上去,但离下班时间就只有1个小时了,为了准时下班,简单写了个shell脚本来监控是否有传输完,我先在服务器a上看了下网站程序总大小为12G,用du -sm查看也就是11517,服务器也不会有人再传东西上去了,所以我可以放心容量不会再变大了。

需要的软件:rsync

脚本内容: #!/bin/bash file=`du -sm /var/www/vhosts/|awk '{print $1}'` ps=`ps -C rsync --no-header|wc -l` if [ "$file" = "11517" ];then echo "files downloaded!" else if [ "$ps" = "1" ];then kill -9 $(ps aux | grep rsync |grep -v grep| awk '{print $2}') sleep 1 nohup sh /root/rsync.sh & else echo "rsync is running..." fi fi

脚本的大概思路就是查看文件夹的大小是否有跟服务器a的大小一样,如果不一样就检查rsync的进程是否有在运行,如果没有运行就kill掉,然后重新执行rsync的下载脚本.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券