请选择 进入手机版 | 继续访问电脑版

北南南北论坛

 找回密码
 立即注册
查看: 8|回复: 0

连接国外网络不好,使用rsync代替scp命令远程传输大文件

[复制链接]

646

主题

898

帖子

2887

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2887
发表于 2017-12-7 21:00:01 | 显示全部楼层 |阅读模式
最近到国外的网络环境很差,丢包率大的感人,还时不时地断开,这时候如果要在本机和远程服务器间使用scp命令传输大文件的话,成功与否只能看运气了。传输过程中一个不小心断开了,只好从头再来一遍。其实对于大文件的传输,我们可以使用rsync来代替scp命令。

rsync主要是在类unix系统下作为数据镜像备份和文件同步工具使用的,从软件的命名上就可以看出来了——remote sync。
它的特性如下:
  • 可以镜像保存整个目录树和文件系统。
  • 可以很容易做到保持原来文件的权限、时间、软硬链接等等。
  • 无须特殊权限即可安装。
  • 优化的流程,文件传输效率高。
  • 可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
  • 支持匿名传输。
这里我们只用它能够断点续传的特点在网络不好的环境下传输大的文件,算是有点大材小用了。就传输单个文件来说,它的用法和scp命令差不多,比如我要把远程服务器linode-server上的数据库备份文件database-backup.sql保存到本地。
命令形式如下:



  1.     daweibro@localhost:~$ rsync -P daweibro@linode-server:/home/daweibro/database-backup.sql /home/daweibro/.
  2.     daweobro@linode-server's password:
  3.     database-backup.sql
  4.          34,948,241 100%   96.58kB/s    0:05:53 (xfr#1, to-chk=0/1)

复制代码
rsync默认使用ssh的22端口,那么如果我们的服务器为了安全已经修改成其他的端口,比如端口是1234那怎么办呢?可以加上 -e 'ssh -p 1234'参数来指定端口号:

  1. rsync -P -e 'ssh -p 1234' daweibro@linode-server:/home/daweibro/database-backup.sql /home/daweibro/.
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


手机版|北南南北论坛  

GMT+8, 2017-12-18 09:24 , Processed in 0.060234 second(s), 30 queries .

© 2001-2016 VxWorks6 Inc.

快速回复 返回顶部 返回列表