Tente:
0 0 * * * /some/path/to/a/file.php > $HOME/'date +\%Y\%m\%d\%H\%M\%S'-cron.log 2>&1
Brinque com o formato de data, se quiser; apenas certifique-se de escapar de %
como \%
, como acima.
Eu tenho um crontab assim em uma configuração LAMP:
0 0 * * * /some/path/to/a/file.php > $HOME/cron.log 2>&1
Isto grava a saída do arquivo para cron.log . No entanto, quando é executado novamente, substitui o que estava anteriormente no arquivo.
Como posso fazer o cron na saída para um arquivo com um registro de data e hora em seu nome de arquivo?
Um nome de arquivo de exemplo seria algo assim: 2010-02-26-000000-cron.log
Eu realmente não me importo com o formato, desde que tenha algum registro de data e hora.
Obrigado antecipadamente.
Eu recomendo que você salve tudo no mesmo arquivo, usando timestamp, como explicado aqui .
remover
2>&1
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).
Você também pode anexar sua saída ao arquivo de log da seguinte forma:
0 0 * * * /some/path/to/a/file.php >> $HOME/cron.log 2>&1
Eu modifiquei o script assim:
'/bin/date +\%Y\%m\%d'.log
Eu resolvi esse problema; basta adicionar o caminho da data (/ bin / date) antes do comando date.