¿Has tratado de programar tareas repetitivas en tu servidor linux, pero no lo has logrado? Cron y crontab son herramientas que puedes disponer y que te permitirán realizar tareas en determinado tiempo.

 

¿Cuáles son las diferencias entre cron y crontab?

Parece que estamos hablando de lo mismo, pero ambos son muy diferentes, los dos están encargados de la programación de tareas repetitivas.

cron

Es un proceso de segundo plano (un demonio) que está activo al instante que el sistema operativo arranca. El cron comprueba si hay alguna tarea para ejecutarla o no. Los procesos se ejecutarán a la hora que deben hacerlo.

crontab

Se trata de un archivo de texto con contenido específico, su misión es ser leído por el cron y ejecutar la tarea que tenga que realizar. Cada usuario podrá programar sus propias tareas repetitivas, sin tener que acudir al usuario administrador.

Funcionamiento de cron

Las tareas de cron se registran y organizan en un archivo llamado crontab, cada usuario puede tener su propio archivo crontab para programar sus tareas, dichas tareas se almacenan en /var/spool/cron/crontabs

Para programar una tarea en cron se debe abrir un crontab, editar y agregar una tarea. La sintaxis para escribir en cron se divide en dos elementos: programación y comando de ejecución. El componente de programación se divide en 5 campos distintos, que se escriben en el este orden:

Campo

Valores permitidos

minute

0-59

hour

0-23

day of the month

1-31

month

1-12 o Jan-Dec

Day of the week

0-6 o sun-sat

 

Juntando estas tareas en un crontab, se haría de la siguiente manera:

Les mostraremos un ejemplo funcional de un cron:

15 5 * * 4 ping http://www.google.com

Esto significa que a las 05:15 a. m. se ejecutará el comando ping a la página de google cada jueves.

Ahora les mostraremos algunos ejemplos relacionados con el uso del componente de programación de cron:

  • * * * * * : Ejecuta comando cada minuto.

  • 15 * * * * : Ejecuta comando 15 minutos después de cada hora.

  • */10 * * * *: Ejecuta el comando cada 15 minutos.

  • 0 16 * * *: ejecuta el comando todos los días a las 16:00 p. m.

Si les es un poco confuso o difícil diferenciar las tareas de programación de tareas, les sugerimos que vean esta pagina crontab.guru

Comandos básicos para el funcionamiento del Crontab en sistemas operativos Linux.

Sustituir el archivo existente por otro:

crontab nombre_archivo

Editar Archivo existente:
crontab -e

Listar todas las tareas existentes en el crontab:

crontab -l

Borrar crontab configurado:

crontab -d

Manejar crontab de otros usuarios existentes

crontab -u usuario