El Fri, 30 Nov 2012 10:57:48 -0500 Carlos Martinez camarti@gmail.com escribió:
Saludos.
Esto no se puede hacer en cron puro habría que hacer algo como esto:
#[min] [hour] [day of month] [month] [day of week] [program to be run] 18 0 * * 0 [ `date "+%d"` -gt 24 ] && /path/to/script
Lo que se hace en la parte de cron es ejecutar la tarea cada domingo. Lo que hace [ `date "+%d"` -gt 24 ] && /path/to/script es asegurarse parcialmente, que el domingo sea el último de cada mes.
Será el último domingo del mes si el siguiente domingo es de otro mes
[ `date +"%m"` -ne `date -d 7days +"%m"` ] && /path/to/script
Esto habrá que programarlo para que se ejecute cada domingo a la hora que se quiera. Supongo que habrá que escapar los '%' en el crontab poniendo +"%m"
En otras palabras, hay que crear código (bash, tcsh, perl), que se asegure que el domingo es efectivamente el último de cada mes. En el caso de [ `date "+%d"` -gt 24 ] este falla para los siguientes meses de aquí al 2020: Feb-2013, Nov-2013, Feb-2014, Feb-2015, Abr-2016, Sep-2017, Feb-2019 y Nov-29. En ese caso, o se agregan tareas específicas para esos meses en particular o se hacen mayores comprobaciones en el script sobre la fecha. 8 tareas en cron adicionales de aquí al 2020 frente un script mas complicado ... me quedo con las 8 tareas.
2012/11/30 Eddy Olivo eddyolivo@gmail.com:
Estimados
Luego de mucho buscar en google, no encuentro como resolver mi necesidad y le escribo para solicitarles el favor de echarme una mano.
Lo que deseo hacer es ejecutar una tarea (CRON) el ultimo domingo de cada mes.
-- Saludos,
Eddy Olivo _______________________________________________ CentOS-es mailing list CentOS-es@centos.org http://lists.centos.org/mailman/listinfo/centos-es
-- Atte., Carlos Andrés Martínez _______________________________________________ CentOS-es mailing list CentOS-es@centos.org http://lists.centos.org/mailman/listinfo/centos-es