Crontab en Linux

El proceso cron es un demonio que se ejecuta en el arranque del sistema, y cuya misión es la de mantener una lista de tareas en las horas establecidas por los usuarios. Hay que tener en cuenta que el proceso cron ejecutara las tareas planificadas así el usuario no estuviera conectado. Este es una de sus ventajas ya que puede dejar planificados procesos que consuman gran cantidad de tiempo de procesador, para que se ejecuten en periodos de baja actividad, por ejemplo en la noche cuando el sistema esta más ocioso.

Para modificar y consultar las listas de tareas planificadas, se utiliza el comando crontab [-elr] usuario o crontrab fichero.

-e: Permite editar la tabla de planificación de procesos del usuario indicado
-l: Muestra el contenido de la tabla de planificación de procesos del usuario indicado
-r: Elimina la tabla de planificación de procesos del usuario indicado
usuario:Define sobre que tabla de planificación realizar las acciones
fichero:Sustituye la tabla de planificación del usuario que ejecuta el comando por el fichero  indicado.

Los cinco primeros campos definen cuando se tiene que ejecutar el comando,indicado en el sexto campo. Los campos por orden son:

Especifica en que minutos (0-59)
Especifica a que hora del día (0-23)
Especifica el día del mes (1-31)
Especifica el mes del año (1-12)
Especifica el día de la semana (0-6 comenzando por el domingo)
Contiene el comando a ejecutar

Ejemplo

$crontab -l
#comentario, se ejecuta a las 3:10 todos los días
10 3 * * * /usr/sbin/logadm 
15 3 * * 6 /usr/bin/who > /tmp/who.out
45 15 8 * 4,5 /usr/bin/cal

La primera línea es un comentario, y como tal se puede omitir La segunda línea, define la ejecución del comando logadm, todos los días a las 3:10 La tercera línea define que se ejecute todos los sabados (el quinto campo tiene valor de 6 correspondiente a sabado), a las 3:15 el comando who. La cuarta línea, indica la ejecucíon del comando cal, los jueves y viernes, así como todos los días 8 de todos los meses, a las 15:45.