[Programación] Cron no labura los Feriados ; )

Mario Oroz jmoroz en uol.com.ar
Vie Ene 25 14:23:22 ARDT 2008


Este es un script que uso desde cron para que los scripts con los
que administro algunas tareas no se ejecuten los feriados...
Y si! @#%&!... cron se quejo con el sindicato...

---inicio chk_feriado---
#! /bin/sh

function es_feriado () {
     for feriado in `cat << EOF | grep -v "^#" | cut -d"#" -f 1
#[FECHAS FERIADOS>]
# Comentarios comienzan la linea con caracter "#"
# Las fechas de eriados se ingresan con el siguiente formato:
# fecha dd/mm/aaaa; espacio; caracter "#"; espacio; descripcion opcional
01/01/2008 # Año Nuevo
#18/01/2008 # Probar deteccion de feriados poniendo la fecha del corriente día
20/03/2008 # Jueves Santo
21/03/2008 # Viernes Santo
24/03/2008 # Memoria Verdad y Jus
02/04/2008 # Caidos en Malvinas
01/05/2008 # Dia del Trabajador
25/05/2008 # Primer Gob. Patrio
16/06/2008 # Muerte Belgrano
09/07/2008 # Dia de la Independen
18/08/2008 # Muerte San Martin
12/10/2008 # Dia de la Raza
08/12/2008 # Dia de la Virgen
25/12/2008 # Navidad
31/12/2008 # FIN DE AÑO
#[<FECHAS FERIADOS]
EOF `
     do
         [ $feriado = $1 ] && return 0
     done
     return 1
}

es_feriado `date +%d/%m/%Y`    #Es feriado hoy?
---fin chk_feriado---


y en el campo de script del cron coloco:

chk_feriado && echo "no laburo; es feriado!" 2>/dev/null | mail -s"Hoy es 
feriado" soporte || echo "Ejecuto lo que nos piden..." 2>/dev/null | mail 
-s"Chequeo realizado." soporte

Espero que les se  de utilidad a alguien.
Saludos.
Mario.


Más información sobre la lista de distribución Programacion