it-swarm.com.de

Senden der Cron-Ausgabe an eine Datei mit einem Zeitstempel im Namen

Ich habe eine Crontab wie diese auf einem LAMP-Setup:

0 0 * * * /some/path/to/a/file.php > $HOME/cron.log 2>&1

Dies schreibt die Ausgabe der Datei in cron.log . Wenn es jedoch erneut ausgeführt wird, überschreibt es alles, was zuvor in der Datei enthalten war.

Wie kann ich cron dazu bringen, in eine Datei mit einem Zeitstempel im Dateinamen auszugeben ?

Ein Beispieldateiname wäre ungefähr so: 2010-02-26-000000-cron.log

Das Format interessiert mich nicht wirklich, solange es einen Zeitstempel hat.

Danke im Voraus.

43
Philip Morton

Versuchen:

0 0 * * * /some/path/to/a/file.php > $HOME/`date +\%Y\%m\%d\%H\%M\%S`-cron.log 2>&1

Spielen Sie mit dem Datumsformat, wenn Sie möchten. Achten Sie nur darauf, dass Sie % wie \% wie oben entkommen.

72
fission

ich würde dringend empfehlen, dass Sie alles mit dem Zeitstempel in derselben Datei speichern, wie hier erklärt .

entfernen

2> & 1

führen Sie es durch das Zeitstempelskript aus, bevor Sie es in einer Protokolldatei speichern (wie im obigen Link erläutert).

14
tony gil

Sie können Ihre Ausgabe auch folgendermaßen an die Protokolldatei anhängen:

0 0 * * * /some/path/to/a/file.php >> $HOME/cron.log 2>&1

Ich habe das Skript folgendermaßen geändert:

`/bin/date +\%Y\%m\%d`.log
0
Ardhy