Sto usando rsync per eseguire il backup di un repository che contiene molti file gz, inclusi molti nuovi ogni giorno. Il backup di rsync procede più lentamente di quanto dovrebbe perché questi file gz non sono creati con l'opzione --rsyncable di gzip (che rende i file gz molto più "rsync-friendly" senza aumentarne significativamente le dimensioni o comprometterne la compatibilità). E non posso risolvere il problema al momento della creazione perché i file sono generati da uno script Python (rdiff-backup) che utilizza il modulo gzip di Python e questo non supporta un equivalente di --rsyncable di gzip.
Quindi, prima di eseguire rsync, posso identificare tutti i nuovi file gz nei dati di origine (ovvero nuovi dall'ultima volta che è stato eseguito rsync). Ora voglio "re-gzip" questi file in modo che siano compressi con gzip in formato rsyncable. Quindi posso eseguire rsync dalla fonte ottimizzata.
Penso che questo significhi eseguire ogni file tramite gunzip e poi gzip --rsyncable ma non sono troppo sicuro di come farlo in un modo che non rischierà di perdere dati o metadati. Suggerimenti ricevuti con gratitudine.
--rsyncable
.
-a
bandiera. Inoltre, la mia versione di gzip non ha un --rsyncable
flag, ma viene fornito con un programma chiamato znew
che potrebbe probabilmente essere utilizzato per quello che ti serve.
--rsyncable
non sarebbe d'aiuto. Speravo in una riga di codice o in uno script breve che potesse decomprimere in modo sicuro un archivio gz e reimballarlo usando --rsyncable
. Ma è solo una domanda accademica per me adesso.
--rsyncable
dovrebbe importare è se i file vengono cambiati tra le esecuzioni ersync
tenta di inviare le modifiche. Ai nuovi file non importa se sono sincronizzabili o meno, perchérsync
devono comunque inviare tutti i dati. I file vengono cambiati tra le esecuzioni rsync?