Я використовую rsync для резервного копіювання сховища, яке містить багато файлів gz, включаючи багато нових щодня. Резервне копіювання rsync протікає повільніше, ніж слід, оскільки ці файли gz не побудовані за допомогою опції --rsyncable gzip (що робить файли gz набагато більш сприятливими до rsync, не збільшуючи їх розмір чи впливаючи на їх сумісність). І я не можу виправити проблему під час створення, оскільки файли генеруються сценарієм python (rdiff-резервне копіювання), який використовує gzip-модуль python, і це не підтримує еквівалент gzip -rsyncable.
Тому перед запуском rsync я можу ідентифікувати будь-які нові файли gz у вихідних даних (тобто нові з моменту останнього запуску rsync). Тепер я хочу "повторно gzip" ці файли, щоб вони були gzipped у форматі rsyncable. Тоді я можу запустити rsync з оптимізованого джерела.
Я думаю, що це означає запуск кожного файлу через gunzip, а потім gzip --rsyncable, але я не дуже впевнений, як це зробити таким чином, що не загрожує втратою даних або метаданих. Пропозиції вдячно отримані.
--rsyncable.
-aпрапор. Крім того, у моїй версії gzip немає --rsyncableпрапора, але він поставляється з програмою під назвою, znewяка, ймовірно, може бути використана для того, що вам потрібно.
--rsyncableне допоможе. Я сподівався на рядок коду або короткий скрипт, який би спокійно розпакував gz-архів і перепакував його за допомогою --rsyncable. Але для мене це лише академічне питання.
--rsyncableповинен мати значення, якщо файли змінюються між прогонами таrsyncнамагаються надсилати зміни. Нові файли не важливо, чи вони можуть бути синхронізуючими чи ні, тому що вони все одноrsyncповинні надсилати всі дані. Чи змінюються файли між запуском rsync?