Compression TAR

Dans un script j'utilise la commande serveur:

tar -c /home/httpd/vhosts/.../ > images.tar


Ca marche impeccable, ca me fait un .tar avec les fichiers du répertoire...


Cependant le .tar à une arborescence super chiante

/home/httpd/...

Il faut rentrer dans tous les repertoires avant d'arriver aux fichiers tarés!

Est il possible de n'avoir que le repertoire cible et pas toute l'arborescence? Il faut modifier la commande?
 
Salut Jeunz,

La syntaxe de tar te permet plusieurs choses.
La première est de donner le nom de fichier après le flag "f" (pour File)

Tu devrais donc utiliser cette commande:

cd /home/httpd/vhosts/... (le répertoire où se trouvent tes images)
tar cvf fichier_destination.tar *

Tu peux aussi automatiquement compresser avec gzip en ajoutant le flag "z" à ta commande

Donc :
tar cvzf fichier_destination.tgz *
 
Ne pas oublier que TAR ne compresse pas. Il permet simplement de mettre dans un seul fichier archive plusieurs fichiers.

Effectivement, pour compresser, il faut utiliser le gzip (ou autre chose) :D
 
Oui oui en fait je voulais simplement regroupper ;-)

tar -c /home/httpd/vhosts/.../ > images.tar

me permet également de donner le nom du fichier (images.tar).


cependant j'aimerai virer dans le .tar toute l'arborescence et je ne trouve rien à ce sujet, pour récuperer en .tar uniquement le repertoire qui m'interesse et pas tout.
 
JeunZ a dit:
cependant j'aimerai virer dans le .tar toute l'arborescence et je ne trouve rien à ce sujet, pour récuperer en .tar uniquement le repertoire qui m'interesse et pas tout.
C'est ce que je t'ai expliqué.

Tu vas dans le répertoire au dessus de ton répertoire images et lances la commande:
tar cvzf images.tgz images

(pour autant que ce dernier images soit le nom de ton répertoire)

Dan
 
JeunZ a dit:
Oui oui en fait je voulais simplement regroupper ;-)

tar -c /home/httpd/vhosts/.../ > images.tar

me permet également de donner le nom du fichier (images.tar).


cependant j'aimerai virer dans le .tar toute l'arborescence et je ne trouve rien à ce sujet, pour récuperer en .tar uniquement le repertoire qui m'interesse et pas tout.

Disons que ton répertoire est /home/httpd/vhosts/truc/machin/images
et que tu veux que les fichiers apparaissant dans le fichier tar soient
images/image1.jpg
images/image2.jpg
et non
/home/httpd/vhosts/truc/machin/images/image1.jpg
/home/httpd/vhosts/truc/machin/images/image2.jpg

Il faut faire ainsi :
tar cvf /chemin/vers/le/fichier/tar/images.tar -C /home/httpd/vhosts/truc/machin images

explication :
cvf /chemin/vers/le/fichier/tar/images.tar : ça dit de créer (en affichant la liste) le fichier /chemin/vers/le/fichier/tar/images.tar
-C /home/httpd/vhosts/truc/machin : ça dit de se placer d'abord dans ce répertoire
images : ça indique le répertoire à traiter sachant qu'on est placé dans le bon répertoire pour ça.
 
Parfait j'ai tout comprit à vos explications, merci à vous...

Mes bloggeurs vont être content de pouvoir sauvegarder les images de leur blog & compagnie :-)
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut