Log de crontab sumativo

¿Qué quiero decir con sumativo?
Cuando creamos un crontab, por defecto nos envia la salida a «mail» (si lo tenemos instalado), y ahí vemos lo que saca el log. Si queremos que sacarlo a un archivo propio de «log» podemos indicarle dónde lo queremos, por ejemplo:

En el ejemplo, ejecuto un script de bash que me hace una backup de la carpeta en otro servidor y tengo un par de «echo«s que pinto la fecha de ejecución y otros parámetros

* * * * * /bin/bash /home/user/scripts/bkp_media_folder.sh > /home/user/scripts/log/bkp_media.log

En este ejemplo no tendría un registro de siempre que se ha ejecutado el log, ya que cada vez crea un archivo nuevo llamado backup_media.log.

Con el símbolo:

> 

Hace un truncado del archivo, lo elimina (borrando todo el contenido 😮) y crea uno nuevo con el contenido de salida.

En cambio, si añadimos dos:

>>

Lo que hará es un «append» al archivo actual (añade lineas al actual archivo).

Con lo que deberíamos escribir la siguiente sentencia:

* * * * * /bin/bash /home/user/scripts/bkp_media_folder.sh >> /home/user/scripts/log/bkp_media.log

Nota: La sentencia «* * * * *» La he puesto para testear que funcionaba. Cada uno que ponga su preferencia.


Podemos «tunearlo» un poco mas… si le ponemos el 1 delante del símbolo «mayor que»:

1>

Nos pintará lo que no son errores.

Y si le ponemos el 2 delante:

2>

Nos escribirá los errores donde le mandemos.

…Sabiendo esto…

Si queremos enviar la salida de no errores a la «nada», deberíamos poner:

1> /dev/null

Y para pintar los errores:

2> /ubicacion/log/errores.log

Para que no nos siga mandando «mails» con error y no nos pintará ningún error.


Entonces, si quisiésemos tener dos logs, el de ejecución y el de errores podríamos setear algo así:

* * * * * /bin/bash /home/user/scripts/bkp_media_folder.sh 1>> /home/user/scripts/log/bkp_media.log 2>> /home/user/scripts/log/bkp_media_error.log

Espero que os sirva (:


Tu opinión es importante para mi, ¿Te ha resultado útil este artículo?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*