Bueno hoy tuve q encontrarme con esto… un cron q corra el ultimo dia de cada mes, no importa si es 28, 29, 30, 31 si el año es bisiesto, etc.
Aqui os dejo el script:
Creamos un script q le ponemos fin_de_mes.sh
#!/bin/bash
HOY=`/bin/date +%d`
MANANA=`/bin/date +%d -d «1 day»`
if [ $MANANA -lt $HOY ]; then
exit 0
fi
exit 1
Despues en el cron se le pone:
55 23 28-31 * * /path/to/fin_de_mes.sh %% /path/to/job.sh
Entonces los dias del 28 al 31, corre eso a las 23:55 que ejecuta el primer script, que chequea cual es el numero de dia de mañana, y si mañana tiene un nro de dia inferior a hoy (o sea en cambio de mes), si es asi entonces ejecuta el job.sh q es lo que quiera correr scheduleado.
Es bueno, pero más sencillo asi:
0 23 * * * [ $(date +\%d) -eq $(echo $(cal) | awk ‘{print $NF}’) ] && script.sh
Ref: http://techironic.com/index.php/2009/04/08/usando-cal-en-crontab/
ahaha tambien es una opción la que me pones hay ¡¡¡¡ gracias ivan¡
Buenisimo, Muchas gracias por compartir y por tu tiempo. Me viene justo este script.
Gracias!!!!
jejeje acabo de encontrar esto:
0 15 15 L * ? script_respaldo.sh
#Se ejecuta a las 15:15:00 del último día de cada mes
y como sería para el penultimo dia ? gracias