BITTE BEACHTEN SIE : Ich habe alle ähnlichen Fragen bezüglich gelesen. cron, Pfade, env-Variablen usw., aber keine gefunden, die Lösungen für mein spezielles Problem bieten.
Ich habe ein Skript, das einige MySQL-Dumps erstellt und dann alte wie folgt löscht:
/usr/bin/find "/home/bkp/dbdump" -name "*.gz" -mtime +5 -delete
(Der obige Befehl wurde von meinem ursprünglichen Befehl durch Vorschläge aus Kommentaren geändert. )
Die Dateien werden jedoch niemals gelöscht, wenn cron dieses Skript ausführt. Der Cron-Benutzer ist root.
Debuggen von Notizen
Wenn ich das Skript, in dem der Befehl angezeigt wird, manuell ausführe, werden sie wie erwartet gelöscht.
Wenn ich den obigen Befehl find alleine über die Befehlszeile als root ausführe, werden sie wie erwartet gelöscht (und mit -print wird erwartungsgemäß eine Liste von Dateien zurückgegeben, die älter als 5 Tage sind).
Ich habe auch eine explizite Pfadanweisung zu Roots Crontab hinzugefügt, aber
das ändert nichts.Cron sendet keinen Fehler, und wenn ich die Suchoperation an eine Protokolldatei weitergebe, wird
diese leer oder überhaupt nicht erstellt.Ich benutze Ubuntu Server 14.04.03 LTS.
/usr/bin/find /home/bkp/dbdump/*.gz -mtime +5
cron
Befehle werden durch die Shell ausgeführt, und die Shell erweitert Platzhalter.
cron
sollte E-Mails mit Ausgabe- und Fehlermeldungen senden. Erhalten Sie eine solche E-Mail von diesem Job?