Comment supprimer les fichiers plus vieux qu'une date donnée en bash ?

Logs tournants, sauvegardes tournantes : la commande pour faire le ménage sur votre serveur.

14 février 2012

Si vous faites un peu d'administration système, il vous est forcément arrivé de vouloir faire le ménage sur vos serveurs, notamment dans les fichiers de logs trop vieux. Il existe un tas d'outils plus ou moins performants pour automatiser ce roulement : logrotate etc... Je vais vous présenter une commande simple pour trouver les fichiers plus vieux qu'un certain nombre de jours et les supprimer.

Si l'on ne veut garder les fichiers que pendant 7 jours, il suffit de trouver ceux dont la date de modification est antérieure à 7 jours. La commande find permet de le faire grâce à l'option mtime, il ne reste qu'à donner le résultat à la commande rm via l'option --exec. Le paramètre "f" de l'option -type indique que nous ne souhaitons trouver que les fichiers.

Trouver et supprimer les fichiers de plus de 7 jours en bash

find $log -type f -mtime +7 -exec /bin/rm -f {} \;

Bien sûr faites attention à ne pas supprimer accidentellement des fichiers. Vous pouvez évidemment remplacer la suppression par n'importe quelle autre action : archivage, déplacement etc...

Maintenant à moi de poser une question : qu'utilisez vous pour vos systèmes de logs ?

Par
Créateur et administrateur.

Dans la même catégorie

Docker pour les null
Git : annuler le dernier commit sans perdre ses modifications
SSHFS : monter un système de fichier avec SSH
Linux : débloquer une interface graphique gelée
Gnome 3 : changer les raccourcis clavier systèmes
Bash : sortir automatiquement du script si une variable n'est pas initialisée
Bash : sortir automatiquement du script si une commande échoue
GIT : merger 2 commits
Nginx : mettre un serveur par défaut
GIT : Afficher la branche courante dans le prompt
Couper une vidéo ou une musique sous linux
Debian / Ubuntu : installer HTTPS pour APT
Filtrer les lignes affichées par la commande tail
Apache 2 : Créer des sous-domaines dynamiques
Transférer des fichiers sur un smartphone android sans câble USB
Comment connaitre la taille d'un dossier sous linux ?
Surveiller la sortie d'une commande avec watch
Comment lancer ou arrêter un script au démarrage de Linux ?
Comment connaître la version de mon OS Linux ?
Comment afficher le cache ARP sous Linux ?
GIT : les commandes indispensables
Comment trouver mon adresse IP publique ?
Linux : Comment configurer une adresse IP fixe ?
Apache 2 : Comment changer le DocumentRoot en fonction du port ?
GIT : Comment ajouter les nouveaux fichiers automatiquement ?
Comment exécuter un script local sur une machine distante avec SSH ?
32 bits ou 64 bits ?
Ecrire dans le sudoers grâce à visudo

Commentaire(s)