跳转到主要内容
首页

用户帐户菜单

  • 登录

主导航

  • 首页
  • 小公司运营
  • 网站建设
  • 创业杂谈
  • 兼职赚钱
  • 小微企业信息化
  • 手册教程
    • 《大伟哥的Drupal 8建站指南》
    • 《通过JohnChow.Com在网上赚钱》
  • 关于

面包屑

  • 首页
  • 网络不好,使用rsync代替scp命令远程传输大文件

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

By 大伟哥 | 2017-11-27,周一, 10:58

最近到国外的网络环境很差,丢包率大的感人,还时不时地断开,这时候如果要在本机和远程服务器间使用scp命令传输大文件的话,成功与否只能看运气了。传输过程中一个不小心断开了,只好从头再来一遍。其实对于大文件的传输,我们可以使用rsync来代替scp命令。

rsync主要是在类unix系统下作为数据镜像备份和文件同步工具使用的,从软件的命名上就可以看出来了——remote sync。它的特性如下:

  • 可以镜像保存整个目录树和文件系统。
  • 可以很容易做到保持原来文件的权限、时间、软硬链接等等。
  • 无须特殊权限即可安装。
  • 优化的流程,文件传输效率高。
  • 可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
  • 支持匿名传输。

这里我们只用它能够断点续传的特点在网络不好的环境下传输大的文件,算是有点大材小用了。就传输单个文件来说,它的用法和scp命令差不多,比如我要把远程服务器linode-server上的数据库备份文件database-backup.sql保存到本地,命令形式如下:

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

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

rsync -P -e 'ssh -p 1234' daweibro@linode-server:/home/daweibro/database-backup.sql /home/daweibro/.

2017-12-07更新一个断点续传的实际例子:

daweibro@local:~$ rsync -P -e'ssh -p 1234'  daweibro@remote.com:/home/daweibro/database-backup-20171207.sql /home/daweibro/.
daweibro@remote.com's password: 
database-backup-20171207.sql
      7,634,944  92%   58.73kB/s    0:00:10  Timeout, server remote.com not responding.

rsync: connection unexpectedly closed (7798898 bytes received so far) [receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [receiver=3.1.1]
rsync: connection unexpectedly closed (59 bytes received so far) [generator]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [generator=3.1.1]

daweibro@local:~$ rsync -P -e'ssh -p 1234'  daweibro@remote.com:/home/daweibro/database-backup-20171207.sql /home/daweibro/.
daweibro@remote.com's password: 
database-backup-20171207.sql
      8,268,435 100%    3.11MB/s    0:00:02 (xfr#1, to-chk=0/1)

看到了吧?已经传输到92%的进度了,结果人品不好歇菜了。如果不能断点续传的话,再从头传一遍浪费时间不说,说不定传输的过程中又会断开,那就不用干活了。所以使用rsync很有必要。rsync,我为你带盐。

网站建设
  • 添加新评论
  • 1821 阅读
Linux

评论

7s分享网

7 years 5 months 之前

永久连接

博主对技术很了解嘛,我就不知道这个,所以来学习了

  • 回复

大伟哥

7 years 5 months 之前

永久连接

7s分享网 回复 博主对技术很了解嘛,我就不知道这个,所以来学习了

做网站的过程中,碰到问题就搜索解决方法,解决了就记录一下…

做网站的过程中,碰到问题就搜索解决方法,解决了就记录一下,做的多了,了解的也就多了。一般从需求入手学习,比较有动力:)

  • 回复

历史趣谈

7 years 5 months 之前

永久连接

搞不明白

  • 回复

大伟哥

7 years 5 months 之前

永久连接

历史趣谈 回复 搞不明白

这个是可以断点续传的,断开以后再重新连上…

这个是可以断点续传的,断开以后再重新连上,不用重新传输已经传输过的,不至于从头开始传,已经不错了。

  • 回复

熊童子优惠劵

7 years 5 months 之前

永久连接

谢谢博主的分享,在这能知道国外的网情

  • 回复

大伟哥

7 years 5 months 之前

永久连接

熊童子优惠劵 回复 谢谢博主的分享,在这能知道国外的网情

欢迎常来,多多交流!

欢迎常来,多多交流!

  • 回复

懿古今

7 years 5 months 之前

永久连接

大文件传输我用得很少,所以没有这个需求,看起来很难

  • 回复

大伟哥

7 years 5 months 之前

永久连接

懿古今 回复 大文件传输我用得很少,所以没有这个需求,看起来很难

其实不是很难,知道有这么个东西就可以了…

其实不是很难,知道有这么个东西就可以了,用的时候现查就能解决。

我一般是碰到这种问题,网上搜索解决了,随手写篇帖子记下来,以后用的时候直接在博客上搜索就能找到了。

  • 回复

添加新评论

此字段内容将保密,不会被其他人看见。
关于文本格式
  • 不允许使用HTML标签。
CAPTCHA
8 + 6 =
计算出这道简单的算术题并键入答案。例如、1+3,就输入 4。
发布评论前,请通过下面的验证,以免被当作垃圾评论机器人屏蔽。

搜索

沪ICP备17000093号-1

公安备案沪公网安备 31011402008254号

© 2016-2022 大伟哥博客版权所有