Cron de Linux

En esta oportunidad les traigo algo bastante simple pero que no muchos saben cómo configurarlo bien, a ver si les sirve de ayuda para familiarizarse más con este S.O.

El Cron, es una herramienta que permite automatizar tareas especificando, minutos, hora, día, semana y mes según como se lo configure.

El formato para las tareas es:

Minuto Hora Día_del_mes Mes Día_de_la_semana [programa o comando]

Minuto                Minuto en que se ejecuta el proceso. (0­59)

Hora                      Hora en que se ejecuta el proceso. (0­23)

Día_del_Mes     Día del mes en que se ejecuta el proceso. (0­31)

Mes                       Mes en que se ejecuta el proceso. (1­12, ó los nombres)

Día_de_Semana              Día de la semana, va del 0 (domingo) al 6 (sábado)

[programa o comando]                Aquello que va a ejecutarse al llegar el momento especificado.

En los valores de tiempo se puede especificar un conjunto de valores para reiterar una ejecución. Estos valores pueden estar separados por comas o guiones.

59 11 * 1-3 1,2,3,4,5        =             A las 11:59 a.m. de lunes a viernes, de enero a marzo

EJ: 45 12 * 1,5,9 2,4 who >> /home/nico/quien                 =             Ejecuta el comando who a las 12:45, todos los días, los meses enero, mayo y octubre, los Martes y Jueves se ejecutará el comando who y guardara un log en /home/nico/quien

El * es un comodín que se usa para especificar todos los valores posibles.

Opciones para crontab:

crontab –l  lista el archivo crontab.

crontab –e permite editar el crontab, utilizando el editor seteado por defecto

crontab –r  borra el archivo crontab.

crontab ­u usuario permite modificar el crontab del usuario

Control de accesos y uso de crontab:

Mediante  los archivos  /etc/cron.allow y /etc/cron.deny, el administrador puede decidir qué usuarios tendrán acceso a crontab. Si no existe un archivo cron.deny,  todos  los usuarios  lo pueden utilizar.Una  forma muy sencilla de editarlo es directamente desde  la  línea de comandos,  recordando que esto lo debe realizar root.

# echo ALL >> /etc/cron.deny

Esto limita el acceso a TODOS los usuarios, es decir que ningún usuario podrá utilizar crontab.

Para otorgar permisos, ejecutamos lo siguiente:

# echo usuario >> /etc/cron.allow

Con esto podrán crear las tareas que deseen sin ningún problema.

Vamos a ver en el próximo post un poquito de ethical hacking 😉

Saludos.

Author: Nicolas Ventre

Virtualization architect with more than 15 years implementing complex environments. Security Specialist and Linux instructor