Compression TAR

WRInaute accro
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?
 
Nouveau WRInaute
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 *
 
WRInaute occasionnel
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
 
WRInaute accro
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.
 
Nouveau WRInaute
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
 
WRInaute occasionnel
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.
 
WRInaute accro
Parfait j'ai tout comprit à vos explications, merci à vous...

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