Gzip przyjazny dla Rsync

26

Nie mogę być jedynym - rsynchronizuję pliki .tar.gz i zauważam, że za każdym razem pełny plik jest synchronizowany, a nie różnice. Czytając to, wydaje się, że w 1999 roku ktoś stworzył algorytm, który naprawił problem http://svana.org/kleptog/rgzip.html (przesłano tylko 5% potrzebnych danych)

Czy odtąd to już nie ma, jak utworzyć przyjazne pliki rtync .tar.gz?

svandragt
źródło

Odpowiedzi:

27

mój gzip (na Ubuntu i Fedorze) ma opcję --rsyncable. Więc stwórz tarballe używając:

tar -c whatever/ | gzip --rsyncable > file.tar.gz
pixelbeat
źródło
12

BeezNest ma całkiem dobre wyjaśnienie opcji rsyncable dla gzip . W teście autora ta opcja dodała około 1% do rozmiaru pliku, ale umożliwiła rsync przesłanie aktualizacji do pliku spakowanego gzipem z ponad 1300-krotnym przyspieszeniem.

Aby poznać szczegóły, zobacz tę dyskusję , którą cytują.

Rich Apodaca
źródło
4

Podoba mi się ten, ponieważ chciałem go tar.gz, nie tylko .gz

GZIP='--rsyncable' tar cvzf bobsbackup.tar.gz /home/bob
Weston Ganger
źródło
3

Wiem, że Ubuntu Linux stosuje łatkę (plik gzip) do źródeł gzip, aby umożliwić --rsyncableflagę. Możesz pobrać tę poprawkę i użyć jej samodzielnie lub sprawdzić, czy Twoja dystrybucja zawiera tę poprawkę.

Alok
źródło