Я використовую 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?