[CRON] Deplacer des fichiers a heure fixe
Résolu
_vince
Messages postés
37
Date d'inscription
Statut
Membre
Dernière intervention
-
_vince Messages postés 37 Date d'inscription Statut Membre Dernière intervention -
_vince Messages postés 37 Date d'inscription Statut Membre Dernière intervention -
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
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:
- Find: 0652-018 an expression term lacks a required parameter.
- Déplacer colonne excel - Guide
- Renommer des fichiers en masse - Guide
- Déplacer barre des taches windows 11 - Guide
- Fichiers epub - Guide
- Fichier impossible à supprimer - Guide
4 réponses
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/ \\;
Et en faisant:
* * * * * su -c "find /path-to/ -type f -name '*.log' -mtime +2 -exec mv {} /path-to/old-logs/ \;"?
C'est surement les caractères {} ou \; qui posent problèmes au cron