¿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