后续在本地运行 rsync 不会减少传输的数据

后续在本地运行 rsync 不会减少传输的数据

我有一个 EC2 实例,其中的数据我想同步到已安装但远程的卷作为备份。

rsync似乎是解决这个问题的方法,因此作为测试,我获取了我的测试文件(Postgres pg_dump 文件)并将rsync -v其复制到已安装的卷:

[ec2-user work]$ rsync -v dump.sql.1 ../backup/dump.sql
dump.sql.1

sent 821704315 bytes  received 31 bytes  3416650.09 bytes/sec
total size is 821603948  speedup is 1.00

然后,我再次运行它,希望看到最少的发送/接收数字,因为它只是校验和。然而……

[ec2-user work]$ rsync -v dump.sql.1 ../backup/dump.sql
dump.sql.1

sent 821704315 bytes  received 31 bytes  3402502.47 bytes/sec
total size is 821603948  speedup is 1.00

我是新手,rsync所以也许我忽略了一些东西,但这个想法不是检查源文件和目标文件是否存在差异,然后生成补丁并将其应用于目标文件吗?为什么这不会将“发送”的数据量减少到校验和的大小?

以下列出一些相关背景:

已安装的卷正在使用s3fs,装上s3fs <bucketname> backup

答案1

rsync 默认复制所有内容。您可以使用 -t 或 -c 等标志使其检查文件的时间戳,并且不重新传输上次修改时间戳未更改的文件(-t),或校验和仍然相同(-c)。另一个有用的选项是 -a(我总是使用它),它设置 -t 和一些其他对存档/备份有用的选项。

相关内容