¿Qué es un Cronjob?
Un Cronjob es una tarea recurrente en el ámbito del servidor que se ejecuta de forma automatizada en un momento determinado. En el siguiente artículo se explica qué hay detrás exactamente, de dónde proviene el término y para qué se utilizan los Cronjobs.
Para mantener un servidor en Internet seguro y estable es necesario administrarlo y supervisarlo de forma continua. En el marco de esta rutina no solo hay que ocuparse de actualizaciones de seguridad o de software de manera puntual, sino que también surgen diversas tareas adicionales, algunas de las cuales deben realizarse en intervalos periódicos. Por ejemplo, puede tratarse de la creación de copias de seguridad o del procesamiento de archivos de registro. Para evitar que estas tareas tengan que realizarse manualmente cada vez por el administrador del sistema, pueden automatizarse mediante los llamados Cronjobs. Los Cronjobs se pueden configurar en todos los sistemas basados en Unix, como Linux/Unix o iOS/MacOS. La base para ello es el denominado demonio Cron, un servicio del sistema que permite la automatización de las tareas. El término Cron deriva de la palabra griega «chronos», que significa «el tiempo». Además, el acrónimo Cron proviene de «command run on notice».
¿Cómo se configuran los cronjobs?
Para poder utilizar tareas cron es imprescindible disponer de un hosting web adecuado. Habitualmente, para la configuración de tareas cron se asume un servidor dedicado. El motivo es que la ejecución de una tarea cron requiere recursos del sistema que, en un hosting web compartido, no estarían disponibles para los demás clientes. Aun así, algunos proveedores también permiten la ejecución de tareas cron en paquetes de espacio web convencionales. Por lo general, esto solo es posible en planes profesionales de mayor precio, que asignan más recursos del sistema al cliente. Clásicamente, una tarea cron se crea directamente a través de la consola de comandos del servidor mediante SSH (Secure Shell). También es posible subir archivos cron por FTP, por ejemplo, a un paquete de hosting web. El procedimiento vía SSH es el siguiente:
Primero se conecta uno al servidor por SSH. Ahora se tiene acceso al editor de la línea de comandos, desde el que se introducen los comandos siguientes. Con el comando crontab -e se puede crear o editar un archivo cron. Con crontab -l se puede listar el contenido de un archivo cron. Las tareas cron también pueden borrarse con crontab -r.
El propio archivo cron consta de seis columnas dispuestas en forma tabular. En las primeras cinco columnas se define la marca temporal en el orden minuto, hora, día, mes, día de la semana. En la última columna se escribe finalmente el comando a ejecutar. Cada columna está separada de la siguiente por un espacio. Mediante el uso del símbolo * también es posible marcar un valor como «cualquiera».
Un comando cron completo podría tener el siguiente aspecto: 59 11 * * 1 /bin/test.sh
Aquí se ejecuta el archivo /bin/test.sh todos los lunes a las 11:59.
¿Para qué se utilizan las tareas cron?
Las tareas cron se utilizan para tareas recurrentes en un servidor que deben ejecutarse automáticamente. Entre otras, pueden tratarse de las siguientes tareas:
- Crear copias de seguridad
- Con una tarea cron se pueden crear automáticamente copias de seguridad de bases de datos o del sistema completo en momentos predefinidos. Especialmente en aplicaciones cuyos contenidos cambian de forma permanente, las copias de seguridad automáticas y periódicas resultan útiles.
- Crear ficheros de registro
- Las tareas cron se pueden utilizar para generar estadísticas sobre las visitas a la propia web. De este modo, el fichero de registro puede actualizarse automáticamente una vez al día.
- Limpiar bases de datos
- Con el tiempo pueden acumularse numerosas entradas innecesarias en las bases de datos de un servidor. Con la ayuda de tareas cron se pueden depurar, por ejemplo eliminando automáticamente entradas antiguas.
- Enviar correos electrónicos
- Especialmente en el envío de boletines, las tareas cron pueden facilitar el trabajo. Aquí los correos no tienen que enviarse manualmente a todos los destinatarios, sino que pueden enviarse de forma automática.
- Generar facturas
- Con la ayuda de tareas cron también se pueden generar facturas de forma automática, por ejemplo cuando se ha completado una tarea determinada.
- Realizar actualizaciones
- La mayoría de las aplicaciones software que se ejecutan en servidores requieren actualizaciones periódicas. Aquí también las tareas cron pueden ayudar a mantenerse siempre al día de forma automática.
Los ámbitos de aplicación de las tareas cron son variados y pueden facilitar considerablemente el trabajo de un administrador de sistemas. Quien gestione su propio servidor debería, por tanto, familiarizarse con este tema.
Escribe un comentario
- Webhosting
- Webspace
- Server
Etiquetas de este artículo
Más proveedores de hosting
Más artículos interesantes
Hosting web gratuito con dominio: comparativa de proveedores
Este artículo presenta las mejores opciones de hosting web gratuito con dominio y muestra en qué se diferencian las dist...
Peligros para los servidores y cómo protegerse
Los servidores están en todo momento expuestos a diversos peligros. ¿Cuáles son y qué medidas se pueden tomar?