Cron jobs

Generador 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 de lejos la forma más sencilla de transferir 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.

Ejemplos de trabajos Cron

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.

Sintaxis de Cron

cron es una utilidad de Linux que programa un comando o script en su servidor para que se ejecute automáticamente a una hora y fecha determinadas. Un trabajo cron es la tarea programada en sí misma. Los trabajos cron pueden ser muy útiles para automatizar tareas repetitivas.

Por ejemplo, puede programar una tarea cron para que elimine los archivos temporales cada semana para conservar el espacio en el disco. Algunos programas, como Drupal, pueden requerir que configure un trabajo cron para realizar ciertas funciones.

El comando crontab se utiliza para editar o crear un archivo crontab, listar y eliminar archivos, instalar y desinstalar los trabajos cron en Vixie Cron. Los archivos en /var/spool/cron/crontabs no deben editarse directamente, aunque cada usuario es dueño de su archivo crontab.

CampoValorDescripciónminuto0-59Minuto exacto en que se ejecuta la secuencia de comandoshora0-23Hora del día en que se ejecuta la secuencia de comandosdía1-31Día del mes en que se ejecuta la secuencia de comandosmes1-12Mes del año en que se ejecuta la secuencia de comandosdía0-6Día de la semana en que se ejecuta la secuencia de comandoscommandspecialSecuencia completa de comandos a ejecutar

Cron jobs linux

Ejecutar una tarea a una hora determinada o en fechas recurrentes es una de las tareas administrativas habituales en todos los sistemas operativos. En Linux, la herramienta cron se utiliza para este propósito. La contraparte de Microsoft Windows para cron es la Tarea Programada.

Cada Tarea Programada es planificada por el Programador de Tareas. Esta aplicación ha estado disponible desde Windows NT 4.0, conocida como Programador de tareas 1.0. En los sistemas Windows modernos (Windows Server 2016, 2019, Windows 10, etc.), el Programador de tareas está disponible en la versión 2.0.

También puedes añadir las nuevas tareas programadas mediante la línea de comandos. Esto es práctico si ya tienes un archivo por lotes para automatizar algo. Para definiciones de tareas más complejas o dinámicas, puede utilizar el método PowerShell que se indica a continuación.

En Windows, puede utilizar schtasks.exe para crear, eliminar o modificar tareas programadas. Para utilizar schtasks.exe, inicie una nueva línea de comandos como administrador pulsando Win+R y escriba cmd.exe. Todo lo que puedes hacer con la Consola de Administración de Microsoft se puede hacer con schtasks.exe.