Aquí está el trabajo crontab
/usr/local/bin/python2.7 /home/scripts/script.py >> /home/scripts/logs/log.log 2>&1
¿Cómo genero un nuevo registro cada vez que se ejecuta el trabajo?
Me parece bien agregar un contador creciente al archivo de registro cada vez que se genera. No sé cómo hacer esto.
¿Realmente tengo que ejecutar otro trabajo cron para hacer eso?
Respuesta1
Puede utilizar el date
comando para generar un nombre de archivo único (más o menos):
/usr/local/bin/python2.7 /home/scripts/script.py > /home/scripts/logs/"`date +\%d\%m\%y_\%H\%M\%S`".log 2>&1
EDITAR:Asegúrate de escapar de los signos de porcentaje.( \%
). Ellos tienen unsignificado especialen cron y el crontab devolverá un error.
<date_time>.log
De esa manera, se creará un nuevo archivo de registro (llamado ) cada vez que se ejecute su trabajo.
$ date; touch "`date +%d%m%y_%H%M%S`.log"
Tue Sep 25 04:39:25 CEST 2012
$ ls *log
250912_043925.log
Suponiendo que su secuencia de comandos no se ejecute más de una vez por segundo (lo cual no puede suceder si está ejecutando un crontab simple), debería estar bien.
Si, como se sugiere en los comentarios, su script lo ejecutan diferentes usuarios, puede agregar el nombre de usuario al nombre del archivo de registro:
/usr/local/bin/python2.7 /home/scripts/script.py > /home/scripts/logs/$(echo -n `whoami`_`date +\%d\%m\%y_\%H\%M\%S`).log 2>&1