Ich habe eine Crontab wie diese in einem LAMP-Setup:
0 0 * * * /some/path/to/a/file.php > $HOME/cron.log 2>&1
Dadurch wird die Ausgabe der Datei in die Datei cron.log geschrieben . Wenn es jedoch erneut ausgeführt wird, wird alles überschrieben, was zuvor in der Datei enthalten war.
Wie kann ich Cron dazu bringen , eine Datei mit einem Zeitstempel im Dateinamen auszugeben?
Ein Beispiel für einen Dateinamen wäre: 2010-02-26-000000-cron.log
Das Format interessiert mich nicht wirklich, solange es einen Zeitstempel hat.
Danke im Voraus.
$HOME/cron.log
überschrieben werden möchten , verwenden Sie>>
nicht>
Antworten:
Versuchen:
Spielen Sie mit dem Datumsformat, wenn Sie möchten; nur sicher sein , jeden zu entkommen
%
wie\%
wie oben.quelle
0 0 * * * /some/path/to/a/file.php > $HOME/scriptname-
Datum + \% Y \% m \% d \% H \% M \% S vorschlagen.log
date +\%Y\ \%m\ \%d\ \%H:\%M:\%S
-cron.logdate +\%Y-\%m-\%d_\%H:\%M:\%S-cron.log
.Ich würde empfehlen, dass Sie alles in der gleichen Datei mit Zeitstempel speichern, wie hier erklärt .
Löschen
und führen Sie es durch das Zeitstempelskript aus, bevor Sie es in einer Protokolldatei speichern (wie im obigen Link erläutert).
quelle
Sie können Ihre Ausgabe auch wie folgt an die Protokolldatei anhängen:
quelle
Ich habe das Skript folgendermaßen modifiziert:
quelle
Ich habe dieses Problem gelöst. Fügen Sie einfach den Datumspfad (/ bin / date) vor dem Datumsbefehl hinzu.
quelle
quelle