[Shell] Supprimer les fichiers qui datent de plus de 60 jours

Supprimer les fichiers qui datent de plus de 60 jours [Shell] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 14-06-2004 à 13:43:29    

Sur nos serveurs samba, ya des logs de 40ko qui sont conservé. Mais vu le gros parc de machine que l'on a, il y a souvent des machines qui disparaissent et d'autres qui apparaissent, et les logs sont conservé indéfiniement.
 
On voudrait pouvoir supprimer les logs qui datent de plus de 60 jours au lancement du serveur samba (dans notre script rc)
 
je me demandais si ca se faisait bien à partir de la ligne suivante
 

/usr/bin/find /usr/local/samba/var -name "log.*" -exec rm -f {} \;


 
là ca supprime tout, mais ya surement moyen de limiter?
 
dans le pire des cas, jvais me faire un petit script perl qui sera appelé pour faire le boulot, mais je préfèrerais une méthode shell

Reply

Marsh Posté le 14-06-2004 à 13:43:29   

Reply

Marsh Posté le 14-06-2004 à 13:59:29    

man find, tu as une option pour rechercher uniquement les fichiers datant de plus de x jours.

Reply

Marsh Posté le 14-06-2004 à 14:03:47    

ArSuniK a écrit :

man find, tu as une option pour rechercher uniquement les fichiers datant de plus de x jours.


 
tu fais mon bonheur
 
merci

Reply

Marsh Posté le 14-06-2004 à 14:26:46    

regarde aussi tmpreaper et logrotate


---------------
logiciels libres à Pau http://www.paulla.asso.fr
Reply

Marsh Posté le 21-03-2005 à 14:28:48    

Bonjour,  
 
J'up ce topic, car en fait, je voudrais réaliser +- la même chose.
 
Voici mon script
 

Code :
  1. #!/bin/csh
  2. echo "Lancement du nettoyage"
  3. foreach in `find /disk2/ -atime 15` as file do
  4. rm -f $file;
  5. done


 
Mais j'ai touijours une erreur
 

Code :
  1. c2srvintra:/backup# ./up
  2. Lancement du nettoyage
  3. foreach: Words not parenthesized.


 
merci


Message édité par Le Veilleur le 21-03-2005 à 14:29:00

---------------
Mon Blog : LeVeilleur.net | Hébergement d'images : Hostipics.net
Reply

Marsh Posté le 21-03-2005 à 15:13:48    

utilise -exec, c'est fait pour ca.


---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
Reply

Marsh Posté le 22-03-2005 à 14:17:05    

Code :
  1. for file in `find /var/www/upload/fichiers/ -atime 15` ;do rm -f $file ;done


 
Voici ma méthode ;)


---------------
Mon Blog : LeVeilleur.net | Hébergement d'images : Hostipics.net
Reply

Marsh Posté le 29-03-2005 à 01:44:16    

pourquoi faire simple quand on fait compliqué lol
 
Burgergold >

Code :
  1. /usr/bin/find /usr/local/samba/var -name "log.*" -atime 60 -exec rm -f {} \;


 
Le Veilleur >

Code :
  1. find /var/www/upload/fichiers/ -atime 15` -exec rm -f {} \;

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed