您的位置:首页 > 其它

需要将一个11GB的文件传输到另外一台服务器,如何断点续传?如何限制带宽?

2014-01-14 22:56 831 查看
1、 http://www.redicecn.com/html/Linux/20130703/460.html
需要将一个11GB的文件传输到另外一台服务器,如何断点续传?如何限制带宽?

使用rsync,完整命令如下:

rsync -av --bwlimit=1000 --progress --inplace --rsh='ssh -p 22000' menus_images.tar.gz qi@host.site-digger.com:/home/qi/haodou_menus_images.tar.gz

说明:

--bwlimit=1000 限制带宽为1000Kbps;

ssh -p 22000 指定ssh的端口(非默认22);

2、http://blog.csdn.net/twh0516/article/details/5287768

一:安装cygwin
下载地址:www.cygwin.com/setup.exe;安装方法可参考www.cygwin.cn,可以选择internet安装,如果安装文件已经下载,可以在本地安装;
1. 修改环境变量:系统和用户path中增加:盘符/cygwin/bin;盘符是具体要安装的磁盘;
2. cygwin两个套件必须安装:openssh,cygrunsrv;
3. 安装时记住要选择 Rsync from the +Net package list, 和a suitable Editor (因为这个系统不会默认安装). 要用到一些编辑器 Pico
(在 +Mail之下的part of Pine living ) 和 Nano (living under +Editors).(我只安装了net全部套件)
4. 在cygwin中访问windows文件系统:cd /cygdrive/ ls命令就可以打出windows下的盘符了;
二:结合ssh使用rsync
5. 把windows文件夹同步到linux,用密钥:
rsync -vzrtopg -e "ssh -i /home/Administrator/.ssh/id_dsa.42" --progress --delete /cygdrive/d/myself/xbb/ root@192.168.0.23:/root/test/
-e参数指定密钥位置"ssh -i /home/Administrator/.ssh/id_dsa.42";
/cygdrive/d/myself/xbb/是windows目录
root@IP:/root/test/是linux目录
6. 如果密钥出现权限问题,而连接不到远程服务器,就将密钥权限设置为600
7. 这是用ssh结合rsync的一个实例,但没有成功,因为文件数量太大!:rsync -vzrtopg -e "ssh -i /home/id_dsa.42" --progress --delete /cygdrive/e/Tomcat/ 5.5/webapps/resource/stat/ root@IP:/usr/local/tomcat/webapps/resource/
8. windows带有空格的目录要用””括起来cygwin才能识别
三:rsync也可以不用ssh独立使用;需要配置模块(不配置模块是否可行没有测试)
服务端:
1.rsyncd.conf配置详解
该文件要放在/etc目录下
rsyncd.conf的配置实例:

uid = nobody
gid = nobody
use chroot = no
list = false
ignore errors = yes
ignore nonreadable = yes
max connections = 1000000 #设置最大连接数,这个似乎优于ssh,因为我不知道ssh连接数的配置
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[test] #这是模块名称
path = /usr/local/tomcat/webapps/resource/test
uid = nobody
read only = false #这个参数如果设成false则可读可写,但write only参数如果设成false则为只读不能写
auth users =root #同步使用的用户名,用root可以同步任何目录,
secrets file = /etc/rsync_server.passwd #这是服务端密码文件:存入用户名密码的文件,用echo "root:密码" >> /etc/rsync_server.passwd 写入值(注意"root:密码",引号是不能少的)
#rsync_server.passwd可以改成其它名字,就是可以自己命名;该文件应该只有root才可读写:chmod 600 /etc/rsync_server.passwd这个权限不正确的话客户端不能访问的报错:auth failed on module stat from
UNKNOWN (123.119.91.216)
2.根据配置创建服务端密码文件:
Touch/etc/rsync_server.passwd;
echo "root:密码" >> /etc/rsync_server.passwd
chmod 600 /etc/rs ync_server.passwd
3. 启动rsync: rsync --daemon 如果要改变端口用rsync --daemon --port=端口
验证启动是否成功:netstat -na|grep 873 端口号要用启动时指定的;
4.设置开机自动启动 echo “usr/bin/rsync –daemon –port=端口” >> /etc/rc.local;
注意:/usr/local/tomcat/webapps/resource/test/的权限设成了777才行
Chown –R root:root test
Chmod –R 777 test
如果有防火墙的话要开放对应端口
客户端:
1.
Touch 目录/文件名
echo "passwd" >> 目录/文件名 password是服务端设置的密码
chmod 600 目录/文件名

配置完毕:

使用实例:rsync -apur --size-only –progress –delete –port=2012 /cygdrive/e/"Tomcat 5.5"/webapps/resource/test/community/ root@192.168.0.16::
test --password-file=/home/Administrator/rsync_client.passwd
这是根据服务端实例的客户端使用,是蓝色部分与红色部分,或者说红色为源蓝色为目标
源在前,目标在后

3、https://www.itefix.no/i2/cwrsync
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: