Tengo un crontab como este en una configuración de LAMP:
0 0 * * * /some/path/to/a/file.php > $HOME/cron.log 2>&1
Esto escribe la salida del archivo en cron.log . Sin embargo, cuando se ejecuta nuevamente, sobrescribe todo lo que estaba previamente en el archivo.
¿Cómo puedo hacer que cron salga a un archivo con una marca de tiempo en su nombre de archivo?
Un nombre de archivo de ejemplo sería algo así: 2010-02-26-000000-cron.log
Realmente no me importa el formato, siempre que tenga una marca de tiempo de algún tipo.
Gracias por adelantado.
$HOME/cron.log
que se sobrescriba,>>
no lo use>
Respuestas:
Tratar:
Juega con el formato de fecha, si quieres; solo asegúrese de escapar
%
como\%
, como se indicó anteriormente.fuente
0 0 * * * /some/path/to/a/file.php > $HOME/scriptname-
fecha + \% Y \% m \% d \% H \% M \% S.log
date +\%Y\ \%m\ \%d\ \%H:\%M:\%S
-cron.logdate +\%Y-\%m-\%d_\%H:\%M:\%S-cron.log
.Recomiendo encarecidamente que guarde todo en el mismo archivo, utilizando la marca de tiempo, como se explica aquí .
retirar
y ejecútelo a través del script de marca de tiempo antes de guardarlo en el archivo de registro (como se explica en el enlace anterior).
fuente
También puede agregar su salida al archivo de registro haciéndolo así:
fuente
Modifiqué el script así:
fuente
Resolví este problema; simplemente agregue la ruta de la fecha (/ bin / date) antes del comando de fecha.
fuente
fuente