TAR et compresse un répertoire mais ignore la compression sur les fichiers déjà compressés

1

Je veux TAR et compresser le répertoire de base d'un utilisateur aussi efficacement que possible. Le problème est qu'il y a beaucoup de fichiers volumineux et déjà compressés (gzip / bzip2) et difficiles à compresser (fichiers binaires / données) dans le répertoire personnel de cet utilisateur, ainsi qu'un grand nombre de fichiers faciles à compresser (code source). Est-il possible d'ignorer la compression de fichiers déjà compressés et / ou difficiles à compresser tout en ne compressant que les fichiers faciles?

L'objectif principal est d'optimiser le transfert de données pour un réseau GigE via:

tar cf - path | gzip -c | nc host port

Si je ne compresse pas du tout, le goulot d'étranglement est le réseau. Si je compresse, le goulot est le temps de calcul. L'entrée / sortie du disque n'est pas un problème. Le répertoire total est d’environ 150 To, mais je n’ai qu’un seul chemin GigE.

gogator
la source

Réponses:

0

tar ne se compresse pas, gzip le fait avec ce qu’il obtient de tar. Mais gzip n’a qu’une chose à gérer (sortie standard de goudron) ici, donc même s’il peut choisir des choses à compresser et d’autres à ne pas, il n’ya pas de deuxième élément à choisir.

Ce que vous pouvez faire est d'utiliser find pour les fichiers compressés et tar-tee-netcat sans recompression. Le fichier tee écrit peut être utilisé pour un deuxième cycle tar-gzip-netcat en tant que liste d'exceptions donnée à tar (-X).

Gombai Sándor
la source