Cron es el programa encargado de ejecutar scripts, tareas o aplicaciones en un momento determinado definido en un programador horario, por lo que es realmente útil cuando se trata de automatizar procesos.
En los sistemas Linux, es tan sencillo como editar un fichero de texto llamado ‘crontab‘ con el comando ‘crontab -e‘(para poder editarlo y añadir líneas de tareas) o bien con ‘crontab -l ‘(para visualizar las tareas programadas que tiene actualmente al cron de vuestro servidor).

La tarea a ejecutar puede ser cualquiera: desde realizar un volcado de la base de datos todas las noches a una hora determinada a purgar una serie de ficheros que queremos borrar de un directorio. La tarea en sí, puede ser un script php, un archivo javascript o cualquier ejecutable linux o script bash que contenga toda una serie de instrucciones.
Cuando se diseñó esta herramienta, se pensó que ‘un minuto’ sería precisión suficiente para cualquier tarea, por lo que la definición de cuando se tiene que ejecutar la tarea de hace de la siguiente forma:
(del mes)
(de la semana)
La primera posición del conjunto de valores indica los minutos en los que se ejecuta la tarea, la segunda indica la hora, la tercera indica el día del mes, la cuarta indica el mes y la quinta indica el día de la semana.
Hay una serie de caracteres especiales, como por ejemplo » * «, que indica «cualquier valor». Si programamos nuestro cron con cinco asteriscos (» * * * * * «), indicamos que queremos que la tarea se ejecute cada minuto todos los minutos de cada hora, de cada día, de cada mes.
La coma (» , «) permite separar valores. Por ejemplo, si ponemos la expresión * * 12,13,14 * * en la tercera posición, significa que queremos que se ejecute los días 12, 13 y 14 de cada mes. El carácter » – « indica un rango de valores: recuperando el ejemplo de antes, * * 12-14 * * sería del día 12 al 14 de cada mes, por lo tanto, serían también los días 12,13 y 14.
Por último, podemos usar el carácter » / « para representar repeticiones o pasos de un determinado tiempo. Por ejemplo: */2 * * * * significa cada 2 minutos.
Ejemplos de configuraciones CRON | ||
---|---|---|
* * * * * | Cada minuto | |
*/2 * * * * | Cada 2 minutos | |
*/15 * * * * | Cada 15 minutos | |
0 * * * * | Cada hora, en el minuto 0 de cada hora | |
0 */2 * * * | Cada dos horas | |
0 9-17 * * * | Cada hora, entre las 9 y las 17 horas | |
0 0 * * * | Cada dia a las 00:00 | |
0 9 * * * | Cada día a las 9:00 de la mañana | |
0 0 * * SUN | Cada Domingo a las 00:00 | |
0 0 * * 0 | Cada Domingo a las 00:00 | |
0 0 * * 1-5 | De Lunes a Viernes a las 00:00 | |
0 0 1 * * | Cada mes | |
0 0 1 */3 * | Cada trimestre | |
0 0 1 1 * | A las 00:00 del 1 de Enero |
En esta tabla podéis ver algunos de los ejemplos de planificación de tareas con las que podéis programar: volcados de bases de datos, copias de ficheros, procesos internos de indexación y cualquier proceso que queráis automatizar en el servidor. Como podéis ver, Cron, es un buen amigo!
Suscríbete a ZonaDAM y aprende como instalar, configurar y sacar partido a ResourceSpace, una de las herramientas Open Source más potentes que existen. Con tu suscripción mensual en la academia zonadam, tienes la opción de aprender a instalarlo y configurarlo en uno de tus servidores, ya sea físico o virtual, o bien puedes empezar a usar el sistema DAM que se incluye con tu suscripción con un espacio de almacenamiento de 2GB, como alumno de zonadam. Si tienes alguna pregunta, no dudes en ponerte en contacto conmigo.