rsync增量同步文件用法实践

本文介绍了rsync命令在远程同步数据时的特性,如何避免覆盖、增量传输以及常用参数如-a、--delete和-exclude。重点讲解了如何正确使用目录后缀和配合-a参数实现高效同步,并提到了rsync与scp在带宽利用上的区别及其适用场景。
rsync

rsync: remote sync,远程同步,用于在本地机器及远程机器之间同步数据。

对于本地机器之内,同步数据使用cp即可。
对于本地与远程,使用scp即可。

但上面两个命令同步数据时一般是无脑覆盖文件,而rsync则不会直接覆盖以前的数据(如果数据已经存在),而是先判断已经存在的数据和新数据的差异,只有数据不同时才会把不相同的部分覆盖。

怎么判定文件有改动呢?默认是检查文件大小和最后修改时间是否一致,如果一致则认为无变动,不会传输该文件,如果不一致则同步。

对于想让两台机器某个目录一致的需求来说,如果目录每天新增数据,则相对scp来说,可以节省大量带宽。

因为它用少量的文件信息换取了大量文件内容的传输。

常用参数

以本地同步文件为例,远程同步只需要在本地同步的基础上加上远程主机的前缀即可,见下文介绍。

初次使用rsync可能会有些疑惑,有时想同步文件夹,却被新创建的目录迷惑,如下:

rsync -r a b

-r参数表示递归目录,与cp中一致。如果不加-r,不会同步任何东西:skipping directory a。

想要把a目录下所有文件同步到b目录下,结果却把a连同目录同步到了b:

% tree
.
└── a
    └── a.csv

1 directory, 1 file

% rsync -rv a b
sending incremental file list
created directory b
a/
a/a.csv

sent 125 bytes  received 63 bytes  376.00 bytes/sec
total size is 4<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值