时间:2017-08-17来源:系统城装机大师作者:qipeng
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文件传输的完整性,如果检测到未传完可继续上传。
2023-02-28
解决linux不识别nfst格式u盘问题技巧 linux无法识别ntfs格式U盘怎么办?2023-02-28
linux扩容swap分区的技巧 linux怎么调整swap大小?2023-02-26
微软Linux资源库首次加入Edge浏览器稳定版当linux在运作时不能直接关闭电源容易将档案系统损毁,因此需要用shutdown以安全的方式关闭,那么这个操作该怎么实现呢?下面就为大家带来了详细教程。...
2022-11-07
由于linux系统和我们常用的windows系统是不一样的,所以如果是初学者,可能会不知道linux怎么强制删除文件,其实我们只要打开终端,使用命令就可以删除了。...
2022-11-03