Réduisez l'espace disque local nécessaire en ne (de façon redondante) pas compressant en gzip les sauvegardes

Le processus de sauvegarde crée un fichier tar, puis lui applique gzip. Il y a deux types d’éléments dans le fichier tar : un dump SQL déjà compressé avec gzip et le contenu des téléchargements (si demandé). Dans mon cas, chaque fichier de téléchargement est déjà compressé : gz, gzip, gif, jpeg, png, zip. Donc, la compression finale avec gzip n’apporte qu’un gain de taille de 1 %.

Je pense qu’il serait préférable d’exiger moins d’espace libre.

Un sujet précédent de 2016 mentionne la désactivation de la compression des sauvegardes, mais il semble qu’à l’époque, le dump SQL n’était pas compressé, ce qui a modifié les compromis.

Ajouter une option pour désactiver la compression des sauvegardes

10 « J'aime »

Je travaille déjà sur un nouveau format de sauvegarde qui supprime la double compression. J’espère qu’il sera prêt dans un mois ou deux.

13 « J'aime »

Super @gerhard !

2 « J'aime »

Des nouvelles à ce sujet ? Merci

1 « J'aime »

Pour ne pas vous déranger outre mesure, mais où en est ce projet ?

Le développement de cette fonctionnalité est actuellement en pause et elle ne figure pas sur notre feuille de route actuelle. J’espère que nous pourrons nous y consacrer en 2024.

4 « J'aime »

Si j’écrivais un correctif pour accepter un 0 dans le taux de compression afin de désactiver gzip, serait-ce quelque chose que vous accepteriez ?

1 « J'aime »

(Je suppose que vous économiseriez du temps CPU de cette façon, mais pas de l’espace, car le fichier tar compressé serait toujours créé.)

Je cherche à économiser du temps CPU. En fait, je pensais utiliser le 0 comme un indicateur qui changerait le chemin du code afin qu’il ne compresse pas en gzip (malheureusement, zéro n’est pas un niveau de compression valide pris en charge par toutes les versions de gzip, à ma connaissance).

Hmm, cela ne m’aiderait pas du tout ! (De même que d’autres qui ont eu le même problème avec un espace disque limité.)

Si tar était utilisé, il pourrait être utilisé avec les options z ou j. Si un sous-shell était utilisé, la sortie de tar pourrait être redirigée vers gzip. Mais je pense qu’en fait, certaines fonctions ruby de plus haut niveau pourraient être utilisées.

1 « J'aime »

tousse

2 « J'aime »

Peut-être que cela ne devrait pas être trop difficile… J’apprécie que les modifications apportées à la sauvegarde et à la restauration doivent être effectuées avec le plus grand soin, mais je pense que l’intégration de la compression permettrait d’économiser beaucoup d’espace sans aucune question de compatibilité.

D’après tar --help

-a, --auto-compress utiliser le suffixe d’archive pour déterminer la compression
-z, --gzip, --gunzip, --ungzip filtrer l’archive via gzip

1 « J'aime »

La compression -z se fait-elle réellement sur place ? J’ai toujours supposé qu’elle exécutait simplement gzip une fois le fichier tar terminé.

Malheureusement, dans ce cas ! Les octets qui représentent le fichier tar non compressé n’atteignent jamais le disque.

2 « J'aime »

Dites-vous que nous pouvons simplement ajouter
"--gzip",

Et cela cessera d’exiger le double de l’espace réellement utilisé par les données ?

1 « J'aime »

Oui, c’est le changement apporté à la commande tar.

1 « J'aime »