[CRON] Deplacer des fichiers a heure fixe

Résolu
_vince Messages postés 37 Statut Membre -  
_vince Messages postés 37 Statut Membre -
Bonjour,

Je cherche a deplacer des fichiers *.log vieux de 2 jours vers un sous-repertoire oldlogs.
Et aussi, j'efface les fichiers vieux fichiers de plus de 15 jours.
Dans l'exemple, j'execute toutes les minutes.

Dans le fichier cron, je pensais executer la commande:
* * * * * find /path-to/ -type f -name '*.log' -mtime +2 -exec mv {} /path-to/old-logs/ \;
* * * * * find /path-to/old-logs/ -type f -name '*.log' -mtime +15 | xargs rm

Resultat des courses:
- une commande du genre: "find /path-to/old-logs/ -type f -name '*.log'| xargs rm" efface bien les fichiers cibles.
- une commande du genre: "find /path-to/ -type f -name '*.log' -exec mv {} /path-to/old-logs/ \;" ne fonctionne pas dans le crontab. Evidemment, elle fonctionne en dehors du crontab.

D'apres ce que je peux lire sur le forum, l'environnement du cron est pauvre. Et il faudrait enrober ces commandes dans un script? Mais je trouve ca un peu dommage de devoir inclure des commandes aussi basiques dans un script.

Tous les conseils sont les bienvenus. Merci d'avance
A voir également:

4 réponses

poumiZ Messages postés 103 Statut Membre 10
 
j'ai essayé ta commande en cron sous Suse 10: ça marche ...
1
poumiZ Messages postés 103 Statut Membre 10
 
j'ai le même problème sous AIX(find: 0652-018 An expression term lacks a required parameter). Il suffit de protéger le "\" de fin:
* * * * * find /path-to/ -type f -name '*.log' -mtime +2 -exec mv {} /path-to/old-logs/ \\; 
1
_vince Messages postés 37 Statut Membre
 
.
0
_vince Messages postés 37 Statut Membre
 
J'ai oublie de dire que j'etais sous AIX.

J'ai essaye et effectivement ca marche :-)

Merci beaucoup pour cette "astuce".
0
poumiZ Messages postés 103 Statut Membre 10
 
Et en faisant:
* * * * * su -c "find /path-to/ -type f -name '*.log' -mtime +2 -exec mv {} /path-to/old-logs/ \;" 
?
0
_vince Messages postés 37 Statut Membre
 
J'utilise le crontab de l' utilisateur qui ecrit ces fichiers de logs mais pas de root. D'ailleurs, j'ai essaye le su -c mais je ne peux pas etre root.
0
dubcek Messages postés 19021 Statut Contributeur 5 637
 
C'est surement les caractères {} ou \; qui posent problèmes au cron
0
_vince Messages postés 37 Statut Membre
 
Je le pense aussi... mais pourquoi !?!?!

Pour etre precis, le cron m'envoie un mail en me disant ceci:
"find: incomplete statement"

Je ne vois pas en quoi le statement est incomplete vu que la commande fonctionne en dehors du crontab...

J'ai mis mes commandes dans un script en attendant...
0