jueves, 27 de octubre de 2016

2.2 Tareas programadas

Linux tiene un demonio cron que normalmente se ejecuta en el arranque de linux. Este demonio despierta cada minuto, mira si tiene que ejecutar alguna tarea, la ejecuta y se duerme. Si queremos que algún comando o tarea se ejecute automáticamente cada cierto tiempo, la forma de hacerlo es indicándole a este demonio que lo haga.

Hay varios ficheros en el sistema operativo y para cada ususario en el que este demonio busca tareas para ejecutar. Uno de ellos es /etc/crontab. El formato de este fichero es minuto hora dia_del_mes mes dia_de_la_semana usuario comando
Donde minuto, hora, dia_del_mes, mes y dia_de_la_semana son lo que parecen, a qué hora, minut, etc se debe ejecutar el comando. En estos campos se pueden poner comodines y hay varios formatos. Por ejemplo:

un * en minuto es en todos los minutos.
* 4 * * *    significa todos los minutos de las cuatro de la madrugada, todos los días, todos los meses. Es decir, se ejecuta 60 veces a las 4:00 am, 4:01 am, ... 4:59 am y ya no más hasta el día siguiente.

También se pueden poner rangos o valores discretos, así


10,20,30 * * * * significa todos los días a todas las horas en los minutos 10, 20 y 30, es decir, a las 0:10 am, 0:20 am, 0:30 am, 1:10 am, 1:20 am,  etc, etc.
*/15 10-14 * * * significa cada 15 minutos entre las 10 am y las 2 pm (las 14).
y así un largo etcétera.

Un ejemplo concreto de lo que puede haber en un crontab

0 0 * * 6 root rm -rf /home/usuario/temp borraría todos los sábados (día 6) a las 0:00 horas el directorio /home/usuario/tmp.

Un usuario puede crear sus propias tareas y añadirlas a cron. Para ello, en cualquier ubicación crea un fichero similar a crontab con el nombre que quiera y sin poner el usuario. Por ejemplo

0 11 * * 1-5 avisameParaElCafe.sh ejecutaría todos los días de lunes a viernes (1-5) a las 11:00 am el comando "avisameParaElCafe.h". Si este fichero se llama mi_cron, entonces para añadir estas tareas al demonio de cron hay que ejecutar el comando


crontab mi_cron por supuesto, suponiendo que el usuario tiene permisos para hacer esto.

Related Posts:

  • 2.2 Configuración del entorno (variables) Establece un buen entorno de trabajo mediante la creación de dos nuevos ficheros de inicio para el intérprete de comandos bash. Estando en el sistema como usuario lfs, ejecuta los siguientes comandos para crear un .bash_prof… Read More
  • 2.2 Directorios y Archivos Creación y supresión de directorios Al entrar en el sistema, el directorio de trabajo es el directorio propio (home). Cuando se crea una cuenta de usuario, el sistema también crea un directorio propio para dicho usuario. … Read More
  • 2.2 Impresión de archivos Cuando tengamos la necesidad de imprimir archivos, la orden lpr (line print) envía los archivos a la impresora que esté conectada al sistema. Ej.:      $ lpr mydata Si necesitamos imprimir varios ar… Read More
  • 2.2 Señales entre procesos Control de Señales Cuando una señal se envía a un proceso, que no esté preparado para recibirla, el proceso se mata. SIGNAL(señal, &funcion) int señal; int (*función)(); función a realizar cuando se recibe una se… Read More
  • 2.2 Procesos de LINUX: tipos y estado ¿Qué son los procesos? Los procesos son programas que se ejecutan en un momento dado. Cuando usamos un sistema operativo de GNU/Linux como Ubuntu por ejemplo (o cualquier otro, también dentro de windows y mac puede aplica… Read More

0 comentarios:

Publicar un comentario