[CentOS-es] Cron - programar ultimo domingo de cada mes -

Carlos Restrepo restrcarlos en gmail.com
Vie Nov 30 19:07:57 UTC 2012


El 30 de noviembre de 2012 12:54, Carlos Restrepo
<restrcarlos en gmail.com>escribió:

>
>
> El 30 de noviembre de 2012 11:42, Eddy Olivo <eddyolivo en gmail.com>escribió:
>
> Leonardo tendrías que ver la sugerencia de Carlos para la programación de
>> ese CRON puntual, ya que es inusual....y no es por la vía convencional.
>>
>> saludos
>>
>> El 30 de noviembre de 2012 12:34, Leonardo Serrano <
>> leo en audiovisuales.icaic.cu> escribió:
>>
>> > #[min]*[hour]*  [day of month] [month] [day of week] [program to be run]
>> >
>> > debajo de donde dice hour (hora militar si mal no recuerdo)
>> >
>> >
>> >
>> >
>> >
>> > El 30/11/2012 11:27 a.m., Eddy Olivo escribió:
>> > > gracias a todos nuevamente... Carlos en lo que sugieres donde
>> especifico
>> > la
>> > > hora en que se ejecutara?
>> > >
>> > > saludos
>> > >
>> > > El 30 de noviembre de 2012 11:57, Carlos Martinez <camarti en 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.
>> > >>
>> > >> 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 en 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 en centos.org
>> > >>> http://lists.centos.org/mailman/listinfo/centos-es
>> > >>
>> > >>
>> > >> --
>> > >> Atte.,
>> > >> Carlos Andrés Martínez
>> > >> _______________________________________________
>> > >> CentOS-es mailing list
>> > >> CentOS-es en centos.org
>> > >> http://lists.centos.org/mailman/listinfo/centos-es
>> > >>
>> > >
>> > >
>> >
>> >
>> > --
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > ---------------------------
>> > Tec.Leonardo Serrano Berdeal
>> > Administrador de la Red
>> > Audiovisuales
>> > ICAIC
>> >
>> >
>> >
>> > _______________________________________________________________
>> > Instituto Cubano del Arte e Industria Cinematográficos - ICAIC
>> > **Visite, Visit** http://www.cubacine.cu
>> > _______________________________________________
>> > CentOS-es mailing list
>> > CentOS-es en centos.org
>> > http://lists.centos.org/mailman/listinfo/centos-es
>> >
>>
>>
>>
>> --
>> Saludos,
>>
>> Eddy Olivo
>>
>> Skype: eddyolivo
>> FB: http://www.facebook.com/eddyolivo
>> twitrer: @eddyolivo <https://twitter.com/#!/eddyolivo>
>> _______________________________________________
>> CentOS-es mailing list
>> CentOS-es en centos.org
>> http://lists.centos.org/mailman/listinfo/centos-es
>>
>
> Eddy, la sacas mas facil con el ejemplo del link que te paso mario manga,
> solo que ese ejemplo esta para un viernes y debería quedar asi:
> (obviamente colocas la hora y minutos a gusto del consumidor)
>
> 10 10 * * 7 [ $(date +"\%m") -ne $(date -d 7days +"\%m") ] &&
> /path/to/your/script
>
> Se ejecutara cuando la comparativa de mes no sea igual.
>
> PD: No necesita el "\" en la sentencia y lo puedes evidenciar al ejecutar
> en una consola de comandos algo como esto:   echo [ $(date +"\%m") -ne
> $(date -d 7days +"\%m") ]
>
>
> Colocalo de la siguiente manera:
>
> 10 10 * * 7 [ $(date +"%m") -ne $(date -d 7days +"%m") ] &&
> /path/to/your/script
>
> Para se un poco mas "paranoico" propio de los Linuxeros al inicio de tu
> scripts coloca las siguientes sentencias:
>
> Ctrl=`date +%b`
> if [ $Ctrl != "sun" ]
>    then
>    exit
> fi
>
> sun sin tu distribución esta en ingles, si esta en español seria dom.
>
>
> --
> Carlos R!.
>
>
Eddy, cometi un error en las indicaciones de control de tu scripts:

lo correcto es:

Ctrl=`date +%a`
if [ $Ctrl != "sun" ]
   then
   exit
fi


-- 
Carlos R!.


Más información sobre la lista de distribución CentOS-es