miércoles, 25 de abril de 2012

Administrador de procesos cron


El cron es un administrador de procesos que se encarga de ejecutar tareas periodicas en un tiempo especifico. Los procesos o tareas que deben ser ejecutados por el demonio cron, se encuentran en el fichero crontab de cada usuario. Estos son procesos que se ejecutan en segundo plano (demonios).


Sintaxis

  • Tiempo de ejecución
      * Minutos (0-59)
      * Horas (0-23)
      * Día del mes (1-31)
      * Meses (1-12) ó (jan, feb, mar, apr, may, jun, jul, aug,sep, oct, nov, dec)
      * Día de la Semana (1-7) ó (mon, tue,wed, thr,fri, sat,sun). El Domingo puede ser el 0 ó el 7.
  • Usuario de ejecución.
  • Comando a ejecutar. (PATH ABSOLUTO)

Se pueden utilizar las siguientes opciones como comodines:

  • Asterisco “*” → Todos
  • Guión “-” → Rango (defino rango o periodo)
  • Coma “,” → Selectivo (defino minutos, horas, meses, dias de la semana en especifico)
  • Intervalos “/” → Intervalos


Opciones a utilizar con el comando crontab

  • -l → Lista el contenido del crontrab
  • -r → elimina el crontab actual
  • -e → crea un nuevo crontab para el usuario en caso de no existir ó edita el crontab actual del usuario.


Archivos Generales

/etc/crontab → Se encuentra el archivo general del sistema
/var/spool/cron/crontabs → Se encuentra el archivo crontab de cada usuario

/etc/cron.allow → Usuario permitidos
/etc/cron.deny → Usuarios denegados

/etc/init.d/cron status → Verifico el estado del proceso cron. Puedo utilizar cualesquier de las siguientes opciones (status, stop, star, restart, reload)


Ejemplo:
A modo de ejemplo colocare la misma tarea a ejecutar, pero en diferentes horarios de modo de practicar la sintaxis del crontab.

  1. Ejecuta la tarea todos los dias, a cada hora, en el minuto 25.
min | hr | dia_mes | mes | dia_semana | usuario | Comando
25     *           *            *        *    cp /home/usuario/prueba/* /tmp/

  1. Ejecuta la siguiente tarea cada 5 minutos.
min | hr | dia_mes | mes | dia_semana | usuario | Comando
*/5 * * * * cp /home/usuario/prueba/* /tmp/

  1. Se ejecuta cada minuto durante los primero 15 minutos, entre las horas 2 y 4 todos los meses, siempre y cuando el dia sea Domingo.
min    |    hr    | dia_mes | mes | dia_semana | usuario | Comando
1-15     2-4          3,7         *          7                   cp /home/usuario/prueba/* /tmp/

No hay comentarios:

Publicar un comentario