Mam taki crontab w konfiguracji LAMP:
0 0 * * * /some/path/to/a/file.php > $HOME/cron.log 2>&1
Spowoduje to zapisanie wyniku pliku do cron.log . Jednak po ponownym uruchomieniu zastępuje wszystko, co poprzednio znajdowało się w pliku.
Jak mogę przekonać crona do wyjścia do pliku ze znacznikiem czasu w nazwie pliku?
Przykładowa nazwa pliku może wyglądać tak: 2010-02-26-000000-cron.log
Tak naprawdę nie dbam o ten format, o ile ma on jakiś znacznik czasu.
Z góry dziękuję.
$HOME/cron.log
zostać zastąpiony,>>
nie używaj>
Odpowiedzi:
Próbować:
Baw się z formatem daty, jeśli chcesz; pamiętaj tylko, żeby uciec
%
jak\%
wyżej.źródło
0 0 * * * /some/path/to/a/file.php > $HOME/scriptname-
data + \% Y \% m \% d \% H \% M \% S.log
date +\%Y\ \%m\ \%d\ \%H:\%M:\%S
-cron.logdate +\%Y-\%m-\%d_\%H:\%M:\%S-cron.log
.zdecydowanie zalecam zapisanie wszystkiego w tym samym pliku, używając znacznika czasu, jak wyjaśniono tutaj .
usunąć
i uruchom go przez skrypt znacznika czasu przed zapisaniem go w pliku dziennika (jak wyjaśniono w powyższym linku).
źródło
Możesz również dołączyć dane wyjściowe do pliku dziennika, wykonując następujące czynności:
źródło
Zmodyfikowałem skrypt w następujący sposób:
źródło
Rozwiązałem ten problem; po prostu dodaj ścieżkę daty (/ bin / date) przed poleceniem date.
źródło
źródło