domingo, 26 de noviembre de 2017

TAREAS PROGRAMADAS

Linux tiene un dominio cron que normalmente se ejecuta en el arranque de linux. Este dominio 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 dominio que lo haga.
Hay varios ficheros en el sistema operativo y para cada usuario en el que este dominio 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, minuto, 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.
  • */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



Elaborado por:

  • Jorge Nares Cossio
  • Gabriela Isabel Alvarez Ortiz
  • Juan Fernando Fuentes Granados
  • Irene Berenice Santacruz Villalobos
  • Andy Miguel Perez Galindo

No hay comentarios.:

Publicar un comentario