当前位置:K88软件开发文章中心电脑基础基础应用04 → 文章内容

Linux使用shell脚本监控rsync文件传输的完整性

减小字体 增大字体 作者:华军  来源:不详  发布时间:2019-1-30 23:51:55

  Linux系统在使用rsync传输大文件的时候,由于本人不在身边,无法保证文件是否完整传输,这时可以编写一个shell脚本来监控rsync是否传输完数据,以确保文件传输到一半时中断却不知道。  今天有台服务器a要把网站程序全部传输到另外一台服务器b上去,但离下班时间就只有1个小时了,为了准时下班,简单写了个shell脚本来监控是否有传输完。  系统:centos 5.x  需要的软件: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的下载脚本。  ps:当然这个脚本有点简陋,没有去检测进程状态,如果出现僵尸进程的话,是没有办法处理的。       好啦,以上就是华军小编带给大家的全部内容了,是不是很简单呢?你学会了么?想了解更多的相关内容,请随时关注华军资讯动态吧,欢迎到华军来下载哦!

Linux使用shell脚本监控rsync文件传输的完整性