VEUILLEZ NOTER : J'ai lu toutes les questions similaires concernant. cron, chemins, variables env et ainsi de suite, mais n'en ont trouvé aucune qui offre des solutions à mon problème particulier.
J'ai un script qui fait des vidages MySQL puis supprime les anciens comme ceci:
/usr/bin/find "/home/bkp/dbdump" -name "*.gz" -mtime +5 -delete
(la commande ci - dessus a été modifiée par rapport à ma commande d'origine par des suggestions de commentaires )
Cependant, les fichiers ne sont jamais supprimés lorsque cron exécute ce script. L'utilisateur cron est root.
Notes de débogage
Si j'exécute manuellement le script dans lequel la commande apparaît, il les supprime comme prévu.
Si j'exécute la commande find ci-dessus seule à partir de la ligne de commande en tant que root, elle les supprime comme prévu (et avec -print, elle renvoie une liste de fichiers de plus de 5 jours comme prévu)
J'ai également ajouté une instruction de chemin explicite à la crontab de root, mais
cela ne change rien.Cron n'envoie aucune erreur et si je redirige l'opération de recherche vers un fichier journal,
celui-ci apparaît vide ou n'est pas créé du tout.J'utilise le serveur Ubuntu 14.04.03 LTS.
/usr/bin/find /home/bkp/dbdump/*.gz -mtime +5
cron
les commandes sont exécutées via le shell, et le shell développe les caractères génériques.
cron
devrait envoyer un e-mail avec des messages de sortie et d'erreur. Recevez-vous un tel e-mail de ce travail?