Tareas cron

Sintaxis de Cron

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.

Cron jobs linux

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].

Cron job aws

Cron es un programador de trabajos basado en el tiempo en los sistemas operativos Unix o similares. Puedes utilizar Cron para programar trabajos, es decir, para ejecutar comandos o scripts de shell a horas, fechas o intervalos específicos. Esto le permite, por ejemplo, automatizar el mantenimiento o la gestión del sistema, descargar archivos de Internet o enviar correos electrónicos de forma regular. Es un demonio, es decir, un proceso en segundo plano que siempre se ejecuta en el servidor. Las tareas que Cron debe realizar se llaman CronJobs. Originalmente, el nombre Cron proviene del dios griego del tiempo “chronos”.

Los CronJobs pueden utilizarse para comandos individuales o para la ejecución automatizada de tareas secuenciales que se repiten periódicamente, por ejemplo, para limpiar bases de datos eliminando entradas obsoletas, archivos de registro y comentarios, o para crear estadísticas periódicas sobre el número de usuarios de un sitio web.

Otras aplicaciones son la actualización de canales RSS, la publicación de nuevos contenidos en un sitio web en una fecha determinada, la generación de múltiples facturas o la distribución automática de boletines. Asimismo, la copia de seguridad de una base de datos puede programarse mediante CronJobs.

Supervisar las tareas 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.