NOTA : ho letto tutte le domande simili in merito. cron, percorsi, variabili env e così via, ma non ne ho trovato nessuna che offra soluzioni al mio problema specifico.
Ho uno script che crea alcuni dump MySQL e quindi elimina quelli vecchi in questo modo:
/usr/bin/find "/home/bkp/dbdump" -name "*.gz" -mtime +5 -delete
(il comando sopra è stato modificato dal mio comando originale da suggerimenti di commenti )
Tuttavia, i file non vengono mai eliminati quando cron esegue questo script. L'utente cron è root.
Note di debug
Se eseguo manualmente lo script in cui appare il comando, li elimina come previsto.
Se eseguo il comando find da solo dalla riga di comando come root, li elimina come previsto (e con -print restituisce un elenco di file più vecchi di 5 giorni come previsto)
Ho anche aggiunto un'istruzione esplicita del percorso al crontab di root, ma
ciò non cambia nulla.Cron non invia alcun errore e, se installo l'operazione di ricerca a un file di registro,
risulta vuoto o non viene creato affatto.Sto usando il server Ubuntu 14.04.03 LTS.
/usr/bin/find /home/bkp/dbdump/*.gz -mtime +5
cron
i comandi vengono eseguiti attraverso la shell e la shell espande i caratteri jolly.
cron
dovrebbe inviare e-mail con messaggi di output e di errore. Ricevete email di questo tipo da questo lavoro?