martes, 12 de diciembre de 2017

Programación de tareas en el terminal de Linux con crontab


Hola amigos, os traigo este útil artículo donde veréis como utilizar el comando crontab, es muy útil para programar tareas.
Si queremos realizar una copia de seguridad regularmente, por ejemplo, será de especial utilidad.


Si en la terminal de comandos escribimos este comando:

$ sudo crontab -l

Nos listará la cantidad de tareas programadas que tiene el usuario root.
En cambio si escribimos:

$ crontab -l

Nos listará las tareas programadas que tiene el usuario activo con el que hemos iniciado la sesión.

Una imagen vale mas que mil palabras:


En esta imagen ni el usuario root ni el usuario administrador tienen ninguna tarea programada.
Y en la imagen siguiente si hay una tarea programada:


Con el comando:

$ sudo crontab -e

o el comando:

$ crontab -e

Escribiremos sudo delante según si queremos y necesitamos que el usuario sea root para poder ejecutar un comando o script que necesita permisos.
Este comando nos da la opción de modificar, con un editor de texto que elegiremos, la o las tareas a ejecutarse. Mirad la siguiente imagen:


En mi caso elijo el editor nano y se nos abre para modificar el archivo /tmp/crontab.75zmb6/crontab. En el mismo archivo nos muestra una rápida guía de ejemplo del formato a utilizar y la descripción de las opciones etiquetada con almohadilla a modo informativo, así que al final añadiremos la instrucción que queremos que ejecute. Como ejemplo yo he introducido esta:


0 8 * * * sudo apt-get update && sudo apt-get upgrade

Quiero hacer una actualización del sistema cada día a las 8:00 a.m.

Hay cinco opciones a utilizar en crontab antes de ejecutar un comando o un script, en mi ejemplo y son:

0 --> Cero minutos, opciones a escribir de 0 a 59 y el *.
8 --> Ocho horas, opciones a escribir de 0 a 23 y el *.
* --> Todos los días del mes es lo que significa el asterisco, opciones a escribir del 1 a 31.
* --> Todos los meses, opciones a escribir del 1 al 12.
* --> Todos los días de la semana, opciones a escribir del 0 al 6, el cero es el domingo.

Otra variante:

0,5,10,15 * * * 1-3 sudo /bin/script.sh

En el minuto 0, minuto 10, minuto 15 de cualquier hora, el lunes, martes y miercoles de cualquier día de cualquier mes quiero que se ejecute el archivo script.sh.

Como podéis ver es muy útil y fácil de programar tareas con crontab.

Espero os sirva de ayuda y nos vemos en el próximo artículo.




No hay comentarios:

Publicar un comentario

Gracias por participar en este blog.