Назад | Перейти на главную страницу

Последующие запуски 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.

rsync по умолчанию копирует все. Вы можете использовать такие флаги, как -t или -c, чтобы он проверял временные метки файлов и не повторно передавал файлы, временная метка последнего изменения которых не изменилась (-t), или где контрольная сумма все еще та же (-c) . Другой полезный параметр - -a (я всегда использую его), который устанавливает -t и несколько других параметров, полезных для архивирования / резервного копирования.