标签:变化 /etc port rsync.sh pre 上传 启动 one 判断
1.业务需求:网站上传的文件需要跨国家的服务器之间保持同步。3.业务实现
1)rsync.sh 同步脚本。该脚本实现了每10秒检查一次是否有同步进程。没有的话启动同步进程,否则等待正在进行的同步进程。
#!/bin/bash
#rsync all
#每10秒检查一次,如果没有同步进程,启动同步
idx=1
while [ $idx -le 6 ];do
echo "idx=$idx"
date
#判断是否有正在同步的进程。
pid=ps -ef |grep rsync|grep rsyncd.pw|grep imgrsync|awk ‘{print $2}‘
if [ "$pid" ];then
echo "rsync is running,pid:$pid"
sleep 10s
idx=$((idx+1))
else
rsync -avzrt --delete --exclude-from=/opt/rsync/exclude-list.txt --password-file=/etc/rsyncd.pw /path-to-rsync/ rsync://imgrsync@{host}:{port}/images
exit 1
fi
done
2)crontab crontab 保证每1分钟启动一次rsync.sh
`*/1 * * * * /opt/rsync/rsync.sh>/var/log/rsync/rsync-all.log`
标签:变化 /etc port rsync.sh pre 上传 启动 one 判断
原文地址:http://blog.51cto.com/lhjszz/2071656