为了备份网站数据,服务器主机在电信线路,备份主机在移动线路。
单个连接的网速基本上就200kbps,可是rsync的客户端没办法同时启动多个连接进行同步,带宽利用不么10%。
参考了:
用PHP改一改,在LINUX下测试OK,基于WINDOWS应该也可以。
启动多个连接进行同步,效率大大提高。
适合暴力解决互联互通问题呵![](http://www.cublog.cn/images/face/003.gif)
<?php $dir = '/var/www/'; //要备份的本地文件夹 $remote_prefix = "your.ip::dest //rsync主机的IP和目标 $local_prefix = "sub_folder"; //对应的子文件夹 $max_connect = 10; //最大的连接
$files = scandir($dir, 2); array_pop($files); array_pop($files); //print_r($files); while (true) { $i = shell_exec("ps agx|grep 'rsync -v $local_prefix'|wc -l"); echo "count: ".$i."\n"; if ($i <= $max_connect) { $file_name = array_shift($files); if(empty($file_name)) exit(); $file_name = $local_prefix.$file_name; $cmd = "rsync -v $file_name $remote_prefix/$file_name -v -rlt --progress"; $file_name = str_replace('/', '_', $file_name); $cmd .= ' >> '.$file_name.'.log &'; system("$cmd"); echo "count:$i exec: ".$cmd."\n
|
做个广告:欢迎光临 了解瓷都德化的点点滴滴...
阅读(1511) | 评论(0) | 转发(0) |