En essayant de courir
find . -iname "*.gz" -mtime +7 -exec tar czvf all_gizip_$(date +%Y-%m-%d).tar.gz {} \;
Je reçois la liste des fichiers
./corosync.log-20140620.gz
./corosync.log-20140618.gz
./rgmanager.log-20140620.gz
./fenced.log-20140620.gz
./rgmanager.log-20140618.gz
./qdiskd.log-20140618.gz
Mais l'archive n'obtient que le dernier élément
tar -tvf all_gizip_$(date +%Y-%m-%d).tar.gz
-rw-r--r-- root/root 506 2014-06-18 03:21 ./qdiskd.log-20140618.gz
Qu'est-ce que je fais mal?
tar
gzip
redhat-enterprise-linux
logfiles
Stryker CainII
la source
la source
Réponses:
Votre commande est exécutée
tar
une fois pour chaque fichier et chaque appel àtar
créer une sortie du même nom, écrasant ainsi la sortie précédente. Donc, vous vous retrouvez avec seulement le dernier fichier. Vous avez besoin de quelque chose commeCela devrait fonctionner correctement tant que votre liste de fichiers n'est pas énorme. Si c'est le cas, vous voudrez probablement utiliser
tar rvf
et effectuer unegzip
étape distincte à la fin.la source