Skip to content

Créer un fichier tar.gz à partir d’un fichier listant un certains nombres de fichiers

  1. while read line; do
  2.   tar -P -c -T – -f archive.tar.gz
  3. done < liste_diff.txt
  4. Le fichier fourni en paramètre contient une liste de fichiers avec pour chacun le chemin absolu sur le serveur + nom du fichier. C’est pourquoi on rajoute l’option -P (–absolute-names) à la commande tar.
  5. ATTENTION : Il faut laisser une ligne vide au début de fichier, sinon le premier fichier de la liste n’est pas pris en compte.
  6. Exemple d’utilisation avec Cygwin sous Windows :
  7. 1/ Ouvrir Cygwin.
  8. 2/ Se placer dans le répertoire du projet (exemple : C:\www\nom_du_projet\ avec la commande : /cygdrive/c/www/nom_du_projet/).
  9. 3/ Mettre la liste des fichiers à archiver dans un fichier texte (ici liste_fichiers.txt).
  10. 4/ Exécuter la commande suivante (sur une seule ligne) :
  11. while read line; do tar -P -c -T – -f archive.tar.gz; done < liste_fichiers.txt
  12. 5/ Vous devez retrouver votre fichier archive.tar.gz dans le répertoire racine de votre projet.
  13. NB: Pour que le script fonctionne, il faut que les chemins dans le fichier texte soit de la forme suivante :
  14. chemin_www/sous_repertoire/nom_fichier.php
  15. Voir aussi :
  16. http://linuxfr.org/forums/30/21469.html