Añade tareas programadas desde la terminal con crontab

Publicado por Fox in the Net el 04 agosto 2016 a las 10:00
  1. Administración de sistemas
  2. Añade tareas programadas desd...

Cuando trabajamos con servidores establecer tareas programadas es algo muy importante. Con ellas podemos programar actualizaciones del sistema, reinicio de servicios, creación de copias de seguridad, etc. Por esta razón, vamos a aprender a usar el comando crontab y sus opciones más habituales.

Crear y editar tareas programadas usando crontab

Para editar las tareas programadas del usuario con el que estamos trabajando debemos introducir en la terminal:

crontab -e

En el caso de que estemos logueados con el usuario root podemos editar las tareas programadas de cualquier usuario de la siguiente manera:

crontab -u usuario -e

De una forma u otra, se nos abrirá el archivo que debemos editar. Para crear una tarea programada debemos irnos al final del archivo e incluir una linea como la siguiente:

min hor dia mes diaSemana comando
  • min: el minuto en el que deseamos que se ejecute.
  • hor: la hora en la que deseamos que se ejecute.
  • dia: el día del mes en el que queremos que se ejecute.
  • mes: el mes del año en el que queremos que se ejecute.
  • diaSemana: el día de la semana en el que queremos que se ejecute, empezando por 0 que corresponde al domingo.
  • comando: comando que se ejecutaría en el intervalo marcado anteriormente.

Si deseamos que una acción se ejecute siempre (sin especificar un valor para un parámetro) podemos usar el carácter *. También podemos definir más de un valor para cada parámetro separados por ','. A continuación podemos ver unos ejemplos: Tarea que se ejecuta el día 1 de enero a las 14:00

0 14 1 1 * sh /home/usuario/script.sh

Tarea que se ejecuta el día 1 y 15 de cada mes a las 15:30

30 15 1,15 * * sh /home/usuario/script.sh

Tarea que se ejecuta cada lunes a las 10:00

0 10 * * 1 sh /home/usuario/script.sh

Tarea que se ejecuta cada 5 minutos

*/5 * * * * sh /home/usuario/script.sh

Tarea que se ejecuta cada minuto

* * * * * sh /home/usuario/script.sh

Visualizar tareas programadas usando crontab

Si deseamos ver las tareas programadas que tiene el usuario con el que estamos trabajando, basta con poner en la terminal:

crontab -l

Al igual que anteriormente, si estamos logueados con el usuario root podemos listar las tareas programadas de cualquier usuario:

crontab -u usuario -l

Eliminar tareas programadas usando crontab

Si deseamos eliminar las tareas programadas del usuario con el que estamos trabajando, debemos escribir en la terminal:

crontab -r

Como en los casos anteriores, si estamos logueados con el usuario root podemos eliminar las tareas programadas de cualquier usuario:

crontab -u usuario -r

Con esta información tenemos lo suficiente para configurar las tareas programadas que necesitemos en nuestro servidor.