Cron job linux

Linux crea una tarea cron cada 5 minutos

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.

Prueba de trabajo cron

Este artículo necesita citas adicionales para su verificación. Por favor, ayude a mejorar este artículo añadiendo citas de fuentes fiables. El material sin fuente puede ser cuestionado y eliminado.Buscar fuentes:  “Cron” – noticias – periódicos – libros – scholar – JSTOR (noviembre de 2011) (Aprende cómo y cuándo eliminar este mensaje de la plantilla)

La utilidad de línea de comandos cron, también conocida como cron job[1][2] es un programador de trabajos en sistemas operativos tipo Unix. Los usuarios que configuran y mantienen entornos de software utilizan cron para programar trabajos[3] (comandos o scripts de shell) que se ejecutan periódicamente a horas, fechas o intervalos fijos[4]. Normalmente automatiza el mantenimiento o la administración del sistema, aunque su naturaleza de propósito general lo hace útil para cosas como la descarga de archivos de Internet y la descarga de correo electrónico a intervalos regulares[5].

Las acciones de cron están dirigidas por un archivo crontab (tabla cron), un archivo de configuración que especifica los comandos del shell que se ejecutarán periódicamente en un horario determinado. Los archivos crontab se almacenan donde se guardan las listas de trabajos y otras instrucciones para el demonio cron. Los usuarios pueden tener sus propios archivos crontab individuales y a menudo hay un archivo crontab para todo el sistema (normalmente en /etc o en un subdirectorio de /etc, por ejemplo, /etc/cron.d) que sólo pueden editar los administradores del sistema[nota 1].

Linux crontab anzeigen

cron es el programador de trabajos basado en el tiempo de los sistemas operativos de tipo Unix. cron permite a los usuarios programar trabajos (comandos o scripts de shell) para que se ejecuten periódicamente a determinadas horas, fechas o intervalos. Se suele utilizar para automatizar el mantenimiento o la administración del sistema.

cron registra la salida de stdout y stderr e intenta enviarla como correo electrónico a los spools del usuario mediante el comando sendmail. Cronie desactiva la salida de correo si no se encuentra /usr/bin/sendmail. Para que el correo se escriba en el spool de un usuario, debe haber un demonio smtp ejecutándose en el sistema, por ejemplo opensmtpd. De lo contrario, puede instalar un paquete que proporcione el comando sendmail, y configurarlo para enviar el correo a un intercambiador de correo remoto. También puede registrar los mensajes utilizando la opción -m y escribiendo un script personalizado.

sSMTP es un emulador de sendmail que envía correo electrónico desde un ordenador local a un servidor smtp. Aunque actualmente no hay mantenedores activos, sigue siendo con mucho la forma más sencilla de transferir el correo a un mailhub configurado. No hay demonios que ejecutar, y la configuración puede ser tan simple como editar 3 líneas en un único archivo de configuración (si su host es de confianza para retransmitir correo electrónico no autenticado a través de su mailhub). sSMTP no recibe correo, ni expande alias, ni gestiona una cola.

Ejemplo de Crontab

Para poder programar comandos o scripts (una serie de instrucciones automatizadas que se ejecutan en un orden específico), los sistemas tipo Unix ofrecen una utilidad llamada cron (o el demonio crond). Esta utilidad permite la ejecución de tareas o trabajos de Linux en función del tiempo.

En pocas palabras, un trabajo o una tarea es un comando, un programa o un script que se desea ejecutar para lograr un determinado objetivo. Un trabajo que se programa a través de cron se conoce como cronjob. Cron utiliza lo que se llama crontab para almacenar y leer los cronjobs.

Cada usuario de un sistema Linux puede tener su crontab. Para abrir el crontab del usuario que ha iniciado la sesión, ejecute el comando crontab con la bandera -e (para editar) o -l (para listar), como se indica a continuación. Si ejecuta este comando por primera vez, le pedirá que seleccione el editor que utilizará para editar su crontab:

Eso es todo por ahora. Cron es un salvavidas para los administradores de sistemas Linux y/o desarrolladores y otros usuarios, para programar tareas repetitivas. Si quieres saber más sobre él, lee las páginas de manual de crontab y cron.