Chaque jour, je supprime les files journaux dans un dossier.
find ~/folder -mtime +28 -type f -delete
Maintenant, je voudrais archiver et compresser tous les files touchés par la command delete ci-dessus et stocker ce tar.gz dans un nouveau directory folder2.
Alors supposons ceci:
~/folder: - x1 (3 days old) - x2 (3 days old) - y1 (29 days old) - y2 (29 days old) ~/folder2: - genericname1.tar.gz: (some already present archive) - ...
archiver, compresser et supprimer
~/folder: - x1 - x2 ~/folder2: - genericname1.tar.gz: - ... - genericname2.tar.gz: - y1 - y2
Vous pouvez soit exécuter un script comme celui-ci (en supposant GNU tar
ou libarchive bsdtar
):
find . -type f -mtime +28 -print0 | tar -czvf backup.tar.gz --null -T -
Ou commencez à utiliser logrotate (recommandé). Vous placez votre file de configuration personnalisé dans /etc/logrotate.d/yourfile
file, exemple de file:
/var/log/news/news.crit { monthly rotate 2 olddir /var/log/news/old missingok postrotate kill -HUP 'cat /var/run/inn.pid' endscript nocompress }
Vous pouvez voir plus d'informations sur toutes les options de configuration logrotate ici