25

Я не должен быть единственным - я перехватываю файлы .tar.gz и замечаю, что каждый раз пересылается весь файл, а не различия. Читая его, кажется, еще в 1999 году кто-то создал алгоритм, который устранил проблему http://svana.org/kleptog/rgzip.html (было передано только 5% данных)

Прошло ли это с тех пор, как я могу создать дружественные для rsync файлы .tar.gz?

5 ответов5

27

мой gzip (на Ubuntu и Fedora) имеет опцию --rsyncable. Так что создайте tarballs используя:

tar -c whatever/ | gzip --rsyncable > file.tar.gz
11

BeezNest имеет довольно хорошее объяснение опции rsyncable для gzip. В тесте автора эта опция добавляла примерно 1% к размеру файла, но позволяла rsync передавать обновления в сжатый файл с ускорением более чем в 1300 раз.

Для кровавых деталей, см. Это обсуждение, которое они цитируют.

4

http://smackerelofopinion.blogspot.com/2009/07/rsyncable-gzip.html

gzip --rsyncable  # need two dashes for long options
4

Мне нравится этот, потому что я хотел tar.gz, а не только .gz

GZIP='--rsyncable' tar cvzf bobsbackup.tar.gz /home/bob
3

Я знаю, что Ubuntu Linux применяет патч (файл gzip) к источникам gzip, чтобы разрешить флаг --rsyncable . Вы можете скачать этот патч и использовать его самостоятельно, или посмотреть, включает ли ваш дистрибутив патч.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .