Que es un cron

Signo de interrogación de Cron

Para utilizar cron para tareas destinadas a ejecutarse sólo para su perfil de usuario, añada entradas al archivo crontab de su propio usuario. Para editar el archivo crontab introduzca: crontab -eEdite el crontab utilizando el formato descrito en las siguientes secciones. Guarde los cambios. (Para mostrar la ayuda en línea que describe el formato del archivo crontab, ingrese: man 5 crontabLos comandos que normalmente se ejecutan con privilegios administrativos (es decir, que generalmente se ejecutan con sudo) deben agregarse al crontab raíz. Para editar el crontab raíz, introduzca: sudo crontab -e

Después de salir del editor, el crontab modificado se comprueba en busca de errores y, si no los hay, se instala automáticamente. El archivo se almacena en /var/spool/cron/crontabs, pero sólo debe editarse mediante el comando crontab.

Las ediciones del crontab de un usuario y los trabajos de cron ejecutados se registran por defecto en /var/log/syslog y ese es el primer lugar donde comprobar si las cosas no se están ejecutando como se espera. Si un usuario no tenía permiso para ejecutar trabajos cuando su crontab se editó por última vez, añadirlo a la lista de permitidos no hará nada. El usuario debe volver a editar su crontab después de ser añadido a cron.allow para que sus trabajos se ejecuten. Tenga en cuenta que los crontabs específicos del usuario (incluido el crontab raíz) no especifican el nombre del usuario después de los campos de fecha/hora. Si incluye accidentalmente el nombre de usuario en un crontab específico de usuario, el sistema intentará ejecutar el nombre de usuario como un comando. Es posible que los crontab no se ejecuten con el entorno, en particular el PATH, que usted espera. Pruebe a utilizar las rutas completas de los archivos y programas si no se localizan como espera. El carácter “%” se utiliza como delimitador de nueva línea en los comandos de cron. Si necesitas pasar ese carácter a un script, debes escaparlo como “\%”. Si tiene problemas para ejecutar una aplicación de interfaz gráfica de usuario (GUI) utilizando cron, consulte la sección Aplicaciones GUI más adelante.

Sintaxis de Cron

Uno de los retos (entre las muchas ventajas) de ser un administrador de sistemas es ejecutar tareas cuando uno preferiría estar durmiendo. Por ejemplo, algunas tareas (incluidas las que se repiten con regularidad) deben ejecutarse durante la noche o los fines de semana, cuando no se espera que nadie esté utilizando los recursos informáticos. No tengo tiempo de sobra por las noches para ejecutar comandos y scripts que tienen que funcionar durante las horas de descanso. Y no quiero tener que levantarme a las cien de la noche para iniciar una copia de seguridad o una actualización importante.

En su lugar, utilizo dos utilidades de servicio que me permiten ejecutar comandos, programas y tareas a horas predeterminadas. Los servicios cron y at permiten a los administradores de sistemas programar tareas para que se ejecuten en un momento específico en el futuro. El servicio at especifica una tarea única que se ejecuta a una hora determinada. El servicio cron puede programar tareas de forma repetitiva, como diaria, semanal o mensualmente.

El servicio cron busca archivos en los directorios /var/spool/cron y /etc/cron.d y en el archivo /etc/anacrontab. El contenido de estos archivos define las tareas cron que deben ejecutarse en distintos intervalos. Los archivos cron de los usuarios individuales se encuentran en /var/spool/cron, y los servicios y aplicaciones del sistema suelen añadir archivos de trabajos cron en el directorio /etc/cron.d. El /etc/anacrontab es un caso especial que se tratará más adelante en este artículo.

Cron en línea

Tenga en cuenta que no debe utilizar tanto el shell Unix como el ACC para gestionar cron. Si realiza cambios en cron a través del shell Unix, todos los cambios futuros en ese comando cron no aparecerán en la interfaz cron del ACC. Cualquier intento de editar el comando en el ACC no tendrá efecto.

Cron es una utilidad estándar de Unix que se utiliza para programar comandos para su ejecución automática a intervalos específicos. Por ejemplo, es posible que tenga una secuencia de comandos que produzca estadísticas web y que desee ejecutar una vez al día automáticamente a las 5:00 AM.

Aplicación Cron

Este artículo proporcionará una visión general de lo que es Cron Jobs. Si no está familiarizado con los Cron Jobs, por favor, léalo detenidamente, ya que los Cron Jobs son una función más avanzada de su cuenta. Si está familiarizado con los Cron Jobs y quiere instrucciones sobre cómo utilizarlos, consulte esta lista de artículos sobre Cron Jobs:

Por ejemplo, puede configurar un Cron Job para que elimine los archivos temporales cada semana, de modo que los archivos innecesarios no ocupen espacio en el disco. Algunos scripts, como Drupal, pueden incluso requerir que configures un Cron Job para realizar ciertas funciones.