$ rsync -e 'ssh -p 8022' foo.txt me@server:/home/me/
rsync 会使用你的 ssh 配置;但是,如果你经常连接到这个服务器,你可以在你的 ~/.ssh/config 文件中添加以下代码 。这样你就不需要再为 rsync 或 ssh 命令指定端口了!
Host server Port 8022
另外,如果你连接的每一台服务器都在同一个非标准端口上运行,你还可以配置 RSYNC_RSH 环境变量 。
为什么你还是应该切换到 rsync?现在我们已经介绍了从 scp 切换到 rsync 的日常使用案例和注意事项,让我们花一些时间来探讨一下为什么你可能想要使用 rsync 的优点 。很多人在很久以前就已经开始使用 rsync 了,就是因为这些优点 。
即时压缩
如果你和服务器之间的网络连接速度较慢或有限,rsync 可以花费更多的 CPU 处理能力来节省网络带宽 。它通过在发送数据之前对数据进行即时压缩来实现 。压缩可以用 -z 标志来启用 。
差量传输
rsync 也只在目标文件与源文件不同的情况下复制文件 。这可以在目录中递归地工作 。例如,如果你拿我们上面的最后一个 bar 的例子,并多次重新运行那个 rsync 命令,那么在最初的传输之后就不会有任何传输 。如果你知道你会重复使用这些命令,例如备份到 U 盘,那么使用 rsync 即使是进行本地复制也是值得的,因为这个功能可以节省处理大型数据集的大量的时间 。
同步
顾名思义,rsync 可以做的不仅仅是复制数据 。到目前为止,我们只演示了如何使用 rsync 复制文件 。如果你想让 rsync 把目标目录变成源目录的样子,你可以在 rsync 中添加删除标志 -delete 。这个删除标志使得 rsync 将从源目录中复制不存在于目标目录中的文件,然后它将删除目标目录中不存在于源目录中的文件 。结果就是目标目录和源目录完全一样 。相比之下,scp 只会在目标目录下添加文件 。
结论对于简单的使用情况,rsync 并不比老牌的 scp 工具复杂多少 。唯一显著的区别是在递归复制目录时使用 -a 而不是 -r 。然而,正如我们看到的,rsync 的 -a 标志比 scp 的 -r 标志更像 cp 的 -r 标志 。
【scp 用户的 rsync 迁移指南】希望通过这些新命令,你可以加快你的文件传输工作流程 。
推荐阅读
- 如何更有逼格的用JS控制CSS颜色?
- 茅屋为秋风所破歌默写题及答案 杜甫蜀相中表现出武侯祠内春意盎然的诗句是
- 李秀成是太平天国前期的重要将领 太平天国李秀成总:失败原因
- 康熙时的朱三太子是谁 康熙王朝里的朱三太子是谁
- 顾况用白居易的名字开玩笑反映了什么 白居易给顾况的诗
- 姜茶的功效与禁忌,吃菊花茶的功效与作用
- 鸡喂茶水多产蛋,茶香鸡的做法
- Java中的21种锁,图文并茂的详细解释
- 兰香铁观音是什么样子,祁红的特点是什么
- 兰香子的功效有哪些,茉莉普洱茶的功效