J'utilise rsync pour sauvegarder un référentiel qui contient de nombreux fichiers gz, dont de nombreux nouveaux chaque jour. La sauvegarde rsync se déroule plus lentement qu'elle ne le devrait car ces fichiers gz ne sont pas construits avec l'option --rsyncable de gzip (ce qui rend les fichiers gz beaucoup plus «conviviaux pour rsync» sans augmenter significativement leur taille ou affecter leur compatibilité). Et je ne peux pas résoudre le problème au moment de la création car les fichiers sont générés par un script python (rdiff-backup) qui utilise le module gzip de python et cela ne prend pas en charge un équivalent de --rsyncable de gzip.
Donc, avant d'exécuter rsync, je peux identifier tout nouveau fichier gz dans les données source (c'est-à-dire nouveau depuis la dernière exécution de rsync). Maintenant, je veux «re-gzip» ces fichiers afin qu'ils soient compressés au format rsyncable. Ensuite, je peux exécuter rsync à partir de la source optimisée.
Je pense que cela signifie exécuter chaque fichier via gunzip puis gzip --rsyncable, mais je ne sais pas trop comment le faire d'une manière qui ne risque pas de perdre des données ou des métadonnées. Suggestions reçues avec reconnaissance.
--rsyncable.
-adrapeau. De plus, ma version de gzip n'a pas d' --rsyncableindicateur, mais elle est livrée avec un programme appelé znewqui pourrait probablement être utilisé pour ce dont vous avez besoin.
--rsyncablen'aiderait pas. J'espérais une ligne de code ou un script court qui déballerait en toute sécurité une archive gz et la reconditionnerait en utilisant --rsyncable. Mais c'est juste une question académique pour moi maintenant.
--rsyncabledevrait être de savoir si les fichiers sont modifiés entre les exécutions etrsynctente d'envoyer les modifications. Les nouveaux fichiers ne se soucient pas s'ils sont synchronisables ou non, car ilsrsyncdoivent quand même envoyer toutes les données. Les fichiers sont-ils modifiés entre les exécutions rsync?