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


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文件传输的完整性,如果检测到未传完可继续上传。


上一篇:Fedora系统ifconfig和netstat命令找不到的解决方法

下一篇:Linux虚拟机挂载硬盘时提示you must specify如何解决?


linux执行shell脚本 linuxrsync
Copyright © 2002-2019 测速网 www.inhv.cn 皖ICP备2023010105号
测速城市 测速地区 测速街道 网速测试城市 网速测试地区 网速测试街道
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!

热门搜索 城市网站建设 地区网站制作 街道网页设计 大写数字 热点城市 热点地区 热点街道 热点时间 房贷计算器