Eu tenho um crontab como este em uma configuração LAMP:
0 0 * * * /some/path/to/a/file.php > $HOME/cron.log 2>&1
Isso grava a saída do arquivo no cron.log . No entanto, quando executado novamente, substitui o que estava anteriormente no arquivo.
Como posso obter o cron para gerar um arquivo com um carimbo de data / hora no nome do arquivo?
Um exemplo de nome de arquivo seria algo como isto: 2010-02-26-000000-cron.log
Eu realmente não me importo com o formato, desde que ele tenha um carimbo de data / hora de algum tipo.
Desde já, obrigado.
$HOME/cron.log
ser sobrescrito,>>
não use>
Respostas:
Experimentar:
Brinque com o formato da data, se quiser; apenas a certeza de escapar de qualquer
%
como\%
, como acima.fonte
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
.eu recomendo que você salve tudo no mesmo arquivo, usando o timestamp, conforme explicado aqui .
remover
e execute-o através do script de registro de data e hora antes de salvá-lo no arquivo de log (como explicado no link acima).
fonte
Você também pode anexar sua saída ao arquivo de log fazendo o seguinte:
fonte
Eu modifiquei o script assim:
fonte
Eu resolvi esse problema; basta adicionar o caminho da data (/ bin / date) antes do comando date.
fonte
fonte