Crontab o cómo automatizar Linux

Automatizar Linux con crontab

Automatizar Linux con crontab de manera fácil y útil

Toda la potencia necesaria para automatizar tareas o ejecutar scripts o aplicaciones es posible mediante el comando crontab.

La automatización con crontab se usa por cada usuario del sistema, es decir, cada usuario puede tener su propia automatización independiente.
Para ejecutar el comando crontab lo llamamos de la siguiente manera.

crontab -e

La primera vez nos solicita que elijamos un editor que por defecto usará nano, aunque dependerá de la distribución de Linux que se use.

nano crontab for usuario - using an empty one

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny
  4. /bin/ed

Choose 1-4 [1]: 

Dentro del archivo podremos poner las sentencias que queremos automatizar en función la sintaxis del comando.

Síntaxis de crontab

.---------------- minuto (0 - 59) 
|  .------------- hora (0 - 23)
|  |  .---------- día del mes (1 - 31)
|  |  |  .------- mes (1 - 12)
|  |  |  |  .---- día de la semana (0 - 6) 
|  |  |  |  |
*  *  *  *  *  comando para ser ejecutado

El comando a ejecutar puede ser una concatenación de comandos

Ejemplos prácticos con crontab

Estos ejemplos son los que irán dentro de crontab, puestos cada uno en una línea.

El siguiente ejemplo ejecuta el script LXV.sh, que se encuentra en el directorio /backup/, a las 6:00 horas todos los lunes de todas las semanas y la información que pudiera mostrar por consola la manda a /dev/null/ para que se destruya y no nos estorbe, siendo esta información de salida cualquier mensaje de error o de información 2>&1.
Si la salida que nos devuelve el script la quisiéramos guardar para una posterior consulta podemos cambiar 2>&1 por > archivo.log donde se nos guardaría la posible información que expulsara el script.

* 6 * * 1 /backup/./LXV.sh /dev/null 2>&1

Este ejemplo ejecuta el script todas las horas.

0 * * * * /ruta/al/script/script.sh

Este ejecuta el script todos los días 15 de cada mes a las 0:00 horas.

0 0 15 0 0 /ruta/al/script/script.sh

Un ejemplo bastante más restrictivo, se ejecuta el script a las 14:15 horas el 21 de junio y que sea viernes.

15 14 21 6 5 /ruta/al/script/script.sh

Ver tareas programadas en crontab

Podemos ver las tareas que tenemos programadas ejecutando el comando crontab con el parámetro -l.

crontab -l

Borrar todas las tareas crontab

Y si por alguna razón queremos borrar todas las tareas a la vez.

crontab -r

Sobre mi

Trabajo en el desarrollo de webs profesionales desde hace más de 25 años.
También me dedico a mis proyectos personales.

Últimas notas publicadas

Categorías

Scroll al inicio