Automatice los procesos con Cron y Crontab en Solaris

La facilidad de cron proporciona un potente planificador de procesos de resolución de minutos. Si un proceso necesita ejecutarse repetidamente sin intervención humana, una entrada en el archivo crontab puede acomodar la mayoría de las programaciones. Hay reglas simples para modificar las entradas de crontab que deben seguirse.


Para editar el archivo crontab, se debe usar el programa crontab. Los archivos crontab reales no deben editarse directamente porque los contenidos se almacenan en caché y los cambios no tendrán efecto hasta que se reinicie el proceso crond. El uso del programa crontab para editar los crontabs actualizará el caché cuando se cambie el archivo. Para editar el archivo crontab del usuario actual, use lo siguiente:

crontab -e

La opción -e le dice al programa que edite una copia del archivo crontab del usuario. Se hace referencia a la variable de entorno EDITOR para determinar qué editor usar (el valor predeterminado es ed). Para establecer esta variable de entorno, vea las recetas para ksh y sh.

El superusuario puede editar el crontab de un usuario específico agregando el nombre de usuario al final de este comando. Los procesos que se ejecutan desde el crontab de un usuario se ejecutarán como ese usuario. Tenga cuidado con los comandos en el crontab de root porque se ejecutarán como root y podrían causar problemas. Si los scripts de shell se ejecutan desde el crontab de la raíz, asegúrese de que sus permisos de archivo no permitan la modificación de nadie más que la raíz.

La sintaxis de crontab es simple. Cada línea representa una sola tarea programada. Los primeros cinco campos representan información de tiempo y todo lo que sigue se interpreta como el comando a programar. Los campos de tiempo en orden son los siguientes:

minutos - 0-59
horas - 0-23
días del mes - 1-31
meses del año - 1-12
días de la semana - 0-6 (domingo-sábado)

Una variedad de opciones de trabajo para cada campo. Un asterisco (*) indica todas las posibles ocurrencias para ese campo. Un número establece esa única ocurrencia. Dos números separados por a - indican un rango de valores, y los números separados por una coma indican una lista de ocurrencias.

Aquí hay varios ejemplos:

15 * * * * logcheck
Ejecuta un comando llamado 'logcheck' cada 15 minutos de cada día.

0,15,30,45 8-17 * * 1-5 dobackup
Ejecuta dobackup cada 15 minutos (es decir, 8:00, 8:15, 8:30 y 8:45) durante el horario comercial (de 8:00 a 17:00) durante los días hábiles (de lunes a viernes).