2016-03-21 13 views
0

Ich habe herum gespielt mit Crontab, um einen tar-Befehl auf einer geplanten Basis auszuführen, aber es scheint, die Aufgabe tatsächlich in den Intervallen überhaupt nicht auszuführen. Die Codezeile, die ich in meine Crontab-Datei eingegeben habe, lautet wie folgt.Wie man Crontab und Tear richtig zusammenarbeitet

Der tar-Befehl funktioniert von selbst, wenn ich es im Terminal ausführen, also bin ich mir nicht sicher, warum das nicht läuft.

Dank

+1

Falscher Standort, keine Programmiersprache Frage. Versuchen Sie http://superuser.com/questions/tagged/linux – tink

+1

Und um Ihre Frage zu beantworten: Verwenden Sie vollständige Pfade. – tink

+0

Vergessen Sie nicht, wenn Sie '>>' (append) verwenden, werden Ihre anfänglichen fehlgeschlagenen Versuche an der Spitze der Protokolldatei (da gewesen sein!), Nach unten, um neueste Ausgabe zu sehen. Ich würde empfehlen, Protokolldateien mit Datum/Zeitstempel mit '...> cronlog. $ (Datum +% Y% m% d.% H% M)' (Sie müssen '%' Zeichen in crontabs entgehen) , wie '\% Y \% m \% m ...'). Viel Glück. – shellter

Antwort

1

Es gibt zwei Dinge hier, die ich problematisch vorstellen kann:

  1. Wenn dieser Teil einer Datei in /etc/crontab.d oder einen Teil /etc/crontab ist, erwartet cron einen Benutzernamen im 6. Säule. So wäre es etwas entlang der Linien der folgenden sein:

    1 * * * * root tar cvf backup.tar . >> ~/testcron.log 
    
  2. Sie möchten vielleicht . mit einem richtigen absoluten Pfad ersetzen. Ich wäre nicht sicher, was das aktuelle Verzeichnis ist, wenn Cron den Cronjob ausführt, also benutze einen absoluten Pfad.

+0

Das Feld Benutzername hängt davon ab, ob/etc/crontab oder "crontab -e" verwendet wird. –

+0

Statement 1 wie es ist, ist falsch. – tink

+0

@KurtStutsman Oh, ich wusste nicht über '' crontab -e'', ich habe immer nur ''/etc/crontab {,. D /} '' verwendet. Danke, dass du darauf hingewiesen hast. –

0

kann nicht als Kommentar posten

cron PATH-Variable von Ihrem Benutzer PATH-Variable verschieden sein kann Wenn dies der Fall ist, müssen Sie entweder den absoluten Pfad zu dem tar ausführbarer Datei oder Export angeben Ihr lokaler Pfad zu den crontab

Weiteren Informationen here