tar czvf exclure un répertoire ou un dossier
Par PlaceOweb le dimanche, février 8 2009, 23:15 - Système - Lien permanent
Comment exclure un ou plusieurs fichiers ou dossiers lors de la compression avec tar ?
Pour exclure plusieurs ressources de votre archive, vous devez répéter l'option --exclude sans terminer par un / pour vos répertoires à exclure.
archivetargz=`hostname`".tar.gz" archivefilessrc="\ /var/log \ /var/www \ " tar -czvf $archivefilessrc >$archivetargz.txt --exclude /var/www/site3 --exclude /var/www/site6
Ressources
Comment créer et décompresser une archive avec tar?
Mais si je veux exclure un sous-répertoire de mon archivage ? Par exemple, je veux archiver /home/toto/, mais PAS /home/toto/Mes_documents/ Tout simple. Il suffit d'utiliser l'option --exclude suivi du nom du répertoire (ou du fichier) que vous ne voulez pas (ici, on fera --exclude /home/toto/Mes_documents). Attention : NE METTEZ PAS LE / à la fin du chemin, sinon ça ne marchera pas. Exemple : il faut mettre /home/toto/Mes_documents et PAS /home/toto/Mes_documents/) tar cf /répertoire_de_votre_archive/MesDocs.tar /home/toto --exclude /home/toto/Mes_documents Et si vous voulez exclure plusieurs répertoires, il faut mettre à chaque fois l'option --exclude devant chacun des répertoires à exclure. Exemple : pour exclure les répertoires /home/toto/Mes_documents et /home/toto/Mes_images, il suffit de faire : tar cf /répertoire_de_votre_archive/MesDocs.tar /home/toto --exclude /home/toto/Mes_documents --exclude /home/toto/Mes_images
man tar
--ignore-case Ne tient pas compte de la casse dans la recherche des fichiers à exclure. --exclude=MOTIF Exclut du traitement les fichiers qui correspondent au MOTIF. --no-wildcards N'utilise aucun caractère de substitution (wildcard) pour la détermination des fichiers à exclure. --no-wildcards-match-slash Ne permet pas aux caractères de substitution de remplacer des « / » lors de la détermination des fichiers à exclure. -X, --exclude-from=F Exclut du traitement les éléments dont les noms sont listés dans F.