多进程rsync同步脚本
如果要备份的文件非常多且又非常小,多进程就非常有用了。
你先用一个find命令找出所有要备份的目录,保存到一个文件里,然后通过以下脚本就可以达到目的。
#!/bin/bash
path="/disk3/attachments"
ip="192.168.196.131"
maxchild=5
exclude="dz"
#open FILE,"ls $path| ";
#list=`ls $path`
list=`cat dir.txt`
for name in $list;do
num=`ps -ef |grep rsync|grep -v grep |grep vl|wc -l`
if [ $num -le $maxchild ] ;then
mkdir -p $path/dz/forum/$name/
echo "rsync -vl --exclude=$exclude $ip::bbs/dz/forum/$name/* $path/dz/forum/$name/" >> dz.txt
rsync -vl --exclude=$exclude $ip::bbs/dz/forum/$name/* $path/dz/forum/$name/ &
else
sleep 2
fi
done
评论