Sitio de asuntos y tópicos acerca de VENENUX GNU/Linux, multimedia, y comunidad, para paquetes de emulación y otros visita McKAY bros..

Indice reciente de contenidos:

Repositorio Programas para VENENUX: http://venenux.org/repos/venenux/
Paquetes de Juegos y emuladores para VENENUX: http://74.86.158.5/~op0014t/mckayemu/
Nuevo foros de VENENUX : http://foros.venenux.org

CRON y ANACRON como usarlos y estructura

|
En el sistema linux Debian y VenenuX hay dos programas para ejecucion periodica de tareas, CRON y ANACRON, 

La diferencia es que CRON asume esta el sistema 24 horas encendido, ANACRON es para sistemas que si se apagan, por consiguiente CRON siempre esta instalado en servidores, y distros guindoseras siempre instalan anacron para asegurar fastidiosas tareas como "unnatended upgrades".
  • En un servidor CRON debe siempre estar instalado.
  • En un servidor CRON sera util si envia correos. (usando /etc/cron.d/)
  • CRON es SINCRONO
  • ANACRON es ASINCRONO
  • Si ANACRON se instala, CRON no comanda el total de tareas, solo las de /etc/crontab
  • ANACRON se ejecuta siempre al iniciar el sistema
  • En un entorno de escritorio no son necesarios.

CRON ESTRUCTURA Y FORMATO (sincronica tareas):

En debian cron trae organizado y preconfigurado tareas basicas mas orientadas a mantenimiento y servico, pero nada de "unnatended upgrades" ni cosas fastidiosas, solo lo esencial y necesario como debe ser.

La estructura :
  1. /etc/crontab : archivo maestro de systema donde estan las tareas periodicas a ejecutar
  2. /etc/cron.****/ : directorios cron, segun tiempo definido en crontab, hay uno semanal, mensual, diario y por horas
  3. /etc/cron.d/ : directorio usado cuando se desee definir entradas propias fuera de lso horiarios de crontab
  4. la estructura como esta en la imagen:
.-----------------------· Minuto (0 - 59) "en el que"ejecuta
|  .--------------------· Hora (0 - 23) "en el que" ejecuta
|  |  .-----------------· Día del mes (1 - 31) en el que se ejecuta
|  |  |  .--------------· Mes (1 - 12) el cual se ejecuta
|  |  |  |  .-----------· Día de la semana (0 - 6) (domingo=0 o 7)
|  |  |  |  |             también acepta como valores:
|  |  |  |  |             mon, tue, wed, thu, fri, sat y sun
|  |  |  |  |  .--------· Usuario que puede o ejecutara la tarea o programa
|  |  |  |  |  |      .-· Programa a ejecutar, 
↓  ↓  ↓  ↓  ↓  ↓      ↓
1 14  *  *  *  pepe /home/pepe/bin/tarea.sh > /dev/null 2>&1
La imagen lo ilustra tambien, que fue la que me inspiro, 

Los lugares y archivos:
  • los lugares /etc/cron.****/ se usan para paquetes, se coloca el script o llamado de la tarea o la definicion en script
  • los lugares /etc/cron.d/ es para definiones de sistema que requieren notificar usuarios sean del sistema o no
  • los lugares /var/spool/cron/crontabs/ es la definida por debian para que los usuarios defina tareas solo ejecutadas por ellos
Los archivos en /var/spool/cron no tiene la columna de usuario, puesto son archivos especificos solo ejecutados "para" dicho usuario.

ejemplos hay montones asi que no los colocos, lo que se necesitaba era explicacion rapida.

Los comandos:
  • crontab -l esto lista las tareas propias, si estas como root lista las ESPECIFICAS de root y no las del sistema
  • crontab -l -u usuariopepe esto lista las tareas del usuario especifico "usuariopepe"
  • crontab -e esto edita o crea nuevas tareas, igual que /etc/crontab pero sin el columna de usuario
  • crontab -e -u usernamepepe hace lo mismo pero solo para el usuario "usernamepepe" como root.
Si la maquina esta apagada en el momoento que se debe ejecutar el comando no se ejecutara cuando prenda, sino que cron esperara a la siguiente "vez que la toca", para solventar esto se emplea anacron y listo. Anacron si ejecuta todo lo pendiente si paso la hora respectiva.

LANZAR APPS GRAFICAS CON CRON/ANACRON

Hay que colocar antes del comando una variable de entorno que defina el puerto Xorg donde se abrira el programa y tomara foco, si es un nested server el programa se lanza pero quedara zombie. La variable y la parte es esta: "env DISPLAY=:0 " antes de el comando. 

consideraciones y limitantes:

Se debe usar rutas absolutas en cron. El caracter de escape para nuevas lineas es "%". Para usar comandos complejos es mejor usar lalmadas a scripts que contengan estos comandos.​​​

ANACRON Y SU USO (asyncronico tareas)

anacron comunmente se ve en las instalaciones de laptops y servicios con interrupciones, si tiene un servicio o servidor y debe apagarlo a veces, debera instalar anacron.
IMPORTANTE: al estar anacron activo/instalado, quien ejecutara todo las tareas de /etc/cron.***/ sera anacron, y cron se limitara.

Los archivos:
  • /etc/cron.****/ perteneceran y se ejecutaran por anacron y no por cron
  • /etc/anacrontab tareas independientes de cron solo ejecutadas por anacron y del sistema.
  • /etc/apm/event.d/anacron ejecutara las tareas apenas se detecte energia directa, y por consigueinte ejecutara cron desde anacron
  • /etc/cron.d/anacron tareas de sincronizacion entre cron y anacron para asegurar que cron este al dia
El funcionamiento:
  • quien ejecutara todo las tareas de /etc/cron.***/ sera anacron, y cron se limitara a solo crontab y el de cada usuario en spool.
  • cada archivo de lso directorios de cron seran actualizados para que se emule que cron se ejecuto (previa ejcucion de anacron)
  • anacron ejecutara todo lo posible en cada reinicio e inicio, y si detecta esta conectado a una fuente de energia directa.
La estructura anacron:
.-----------------------· Perido: cantidad de dias seguidos 
|  .--------------------· Delay: retraso en minutos antes ejecutar
|  |     .--------------· ID: nombre UNICO del archivo
|  |     |                .-· Tarea: Programa o comando ejecutar
↓  ↓     ↓                ↓
28 4  pepe.tarea1234  /home/pepe/bin/tarea.sh > /dev/null 2>&1
Archivo ID anacron:
Este archvo aparece en /var/spool/anacron/ y tiene el nombre que se dio en el anacrontab o el evento anacron de apm, dado al instalar anacron toma el control de los directorios diarios de cron, aparecen siempre "anacron.daily", "anacron.hourly", etc etc segu los "cron.daily" o "cron.hourly", y dentro tendra la fecha de la ultima vez que se ejecutaron los scripts de estos cron.

No hay algo asi como anacron para usuarios, puesto anacron lo que hace es tratar de sincronizar el cron.




Lenz McKAY Gerardo (PICCORO)

No hay comentarios:

Publicar un comentario en la entrada

Complacidos de que te expreses, por favor identificate si es posible!