Rsync дружественный GZIP

26

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

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

svandragt
источник

Ответы:

27

мой gzip (на Ubuntu и Fedora) имеет опцию --rsyncable. Итак, создайте тарболы, используя:

tar -c whatever/ | gzip --rsyncable > file.tar.gz
pixelbeat
источник
12

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

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

Богатая Аподака
источник
4

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

GZIP='--rsyncable' tar cvzf bobsbackup.tar.gz /home/bob
Уэстон Гангер
источник
3

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

Alok
источник