Scrip pour supprimer les fichiers de plus de 6 mois


12

Configuration d'une tâche cron une fois par mois pour démarrer un script.

le script consiste à faire pivoter un fichier chaque mois car il devient trop gros et à renommer l'ancien. lorsqu'un fichier a plus de six mois, je voulais qu'il soit supprimé.

Vous cherchez à exécuter ce script une fois par mois. Est-il possible de supprimer l'ancien?

Veuillez me faire savoir si ce n'est pas assez clair.


11
Pourquoi ne pas simplement utiliser logrotate?
Michael Hampton

@scottmarriott ouais, M. Hampton a raison, la fonctionnalité que vous avez décrite est exactement ce que fait logrotate.
Bratchley

Oui, je viens d'avoir un bon aperçu de logrotate est tout à fait logique
scott marriott

@MichaelHampton, vous devriez en faire une réponse.
evilsoup

Réponses:


20

Vous pouvez commencer par ceci:

find /your/file -mtime +182 -exec rm {} +

+182sont la quantité de jours.


Merci pour cela, peut-être jouer avec, mais je peux peut-être que logrotate soit la meilleure option
scott marriott

@jordanm des idées pourquoi cela pourrait ne pas fonctionner?
scott marriott

ApplicationServer / logs / TestClone01 $ ls -ltr total 3320 1048458 13 déc 09:46 SystemOut_12.12.13_09.46.29.log 28 mai 12:44 SystemOut.log.2013-05-28-12: 44: 52 71 30 mai 08: 57 SystemOut.log.2013-05-30-08: 57: 22 48432 30 mai 09:16 SystemOut.log no_env): / usr / websphere6 / was61TE_LV2 / ApplicationServer / logs / TestClone01 $ find SystemOut.log -mtime +1 - exec rm {} + find: 0652-083 Impossible d'exécuter :: Un fichier ou un répertoire dans le nom du chemin n'existe pas.
scott marriott

J'ai changé le nombre de jours en 1
scott marriott

@scottmarriott Pas toutes les versions de findsupport +/-pour -mtime. Quel OS et quelle version findpossédez-vous?
jordanm

2

Vous pouvez simplement utiliser logrotate. Il est déjà disponible sur la plupart des systèmes Linux, et de nombreux packages ont déjà des scripts logrotate préconfigurés, ou vous pouvez les modifier ou écrire les vôtres.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.