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.
difícil eso, porqué no un día específico de cada mes? El 30/11/12 10:21, Eddy Olivo escribió:
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.
Hola esto te puede ayudar http://www.linuxtotal.com.mx/index.php?cont=info_admon_006
Cordialmente
Ing. César Martínez SERVICOM User Linux 494131
Números Convencionales 02-2554-271 02-2221-386 Extensión 4501 Móvil 09-99374-317 Usa (315) 519-7220 Email & Msn cmartinez@servicomecuador.com Skype servicomecuador Web www.servicomecuador.com Síguenos en Twitter: http://twitter.com/servicomecuador Facebook: http://www.facebook.com/servicomec Zona Clientes: www.servicomecuador.com/billing Blog: http://servicomecuador.blogspot.com/
Dir. Av. 10 de Agosto N29-140 Entre Acuña y Cuero y Caicedo Quito - Ecuador - Sudamérica
=================================================
Cláusula de Confidencialidad La información contenida en este e-mail es confidencial y solo puede ser utilizada por la persona a la cual esta dirigida.Si Usted no es el receptor autorizado, cualquier retención, difusión, distribución o copia de este mensaje es prohibida y sancionada por la ley. Si por error recibe este mensaje, por favor reenviarlo al remitente y borre el mensaje recibido inmediatamente. =================================================
On 30/11/12 10:47, Osmany Oconnor wrote:
difícil eso, porqué no un día específico de cada mes? El 30/11/12 10:21, Eddy Olivo escribió:
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.
Tienes un comienzo, tienes que respetar esta nomenclatura:
Minuto Hora DiaDelMes Mes DiaDeLaSemana Usuario Comando
Si te das cuenta, basta con indicar, por ejemplo, el minuto 40 de la hora 16 del día (la parte difícil), todos los meses, en el día de la semana Sun. Deberías hacer una función para crear esto en cron.monthly (que se ejecute con un crontab todos los primeros días de mes, y que se mueva según sea el último domingo del mes)
Creo que podrías darle una vuelta a un script con 'cal' para que te dé el mes en el que estás trabajando. Y cortando, podrías obtener el último domingo. Se ve interesante... Si no estuviera ocupado te ayudaría
El 30 de noviembre de 2012 12:50, César Martinez < cmartinez@servicomecuador.com> escribió:
Hola esto te puede ayudar http://www.linuxtotal.com.mx/index.php?cont=info_admon_006
Cordialmente
Ing. César Martínez SERVICOM User Linux 494131
Números Convencionales 02-2554-271 02-2221-386 Extensión 4501 Móvil 09-99374-317 Usa (315) 519-7220 Email & Msn cmartinez@servicomecuador.com Skype servicomecuador Web www.servicomecuador.com Síguenos en Twitter: http://twitter.com/servicomecuador Facebook: http://www.facebook.com/servicomec Zona Clientes: www.servicomecuador.com/billing Blog: http://servicomecuador.blogspot.com/
Dir. Av. 10 de Agosto N29-140 Entre Acuña y Cuero y Caicedo Quito - Ecuador - Sudamérica
=================================================
Cláusula de Confidencialidad La información contenida en este e-mail es confidencial y solo puede ser utilizada por la persona a la cual esta dirigida.Si Usted no es el receptor autorizado, cualquier retención, difusión, distribución o copia de este mensaje es prohibida y sancionada por la ley. Si por error recibe este mensaje, por favor reenviarlo al remitente y borre el mensaje recibido inmediatamente. =================================================
On 30/11/12 10:47, Osmany Oconnor wrote:
difícil eso, porqué no un día específico de cada mes? El 30/11/12 10:21, Eddy Olivo escribió:
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.
CentOS-es mailing list CentOS-es@centos.org http://lists.centos.org/mailman/listinfo/centos-es
gracias por responder
Oscar: por que si cae entre lunes a viernes se me complica con los recursos del servidos.. entonces necesito que sea el ultimo sábado o domingo.
Cesar: eso ya lo había visto en las búsquedas de google... es muy general esa informacion.
saludos
El 30 de noviembre de 2012 11:50, César Martinez < cmartinez@servicomecuador.com> escribió:
Hola esto te puede ayudar http://www.linuxtotal.com.mx/index.php?cont=info_admon_006
Cordialmente
Ing. César Martínez SERVICOM User Linux 494131
Números Convencionales 02-2554-271 02-2221-386 Extensión 4501 Móvil 09-99374-317 Usa (315) 519-7220 Email & Msn cmartinez@servicomecuador.com Skype servicomecuador Web www.servicomecuador.com Síguenos en Twitter: http://twitter.com/servicomecuador Facebook: http://www.facebook.com/servicomec Zona Clientes: www.servicomecuador.com/billing Blog: http://servicomecuador.blogspot.com/
Dir. Av. 10 de Agosto N29-140 Entre Acuña y Cuero y Caicedo Quito - Ecuador - Sudamérica
=================================================
Cláusula de Confidencialidad La información contenida en este e-mail es confidencial y solo puede ser utilizada por la persona a la cual esta dirigida.Si Usted no es el receptor autorizado, cualquier retención, difusión, distribución o copia de este mensaje es prohibida y sancionada por la ley. Si por error recibe este mensaje, por favor reenviarlo al remitente y borre el mensaje recibido inmediatamente. =================================================
On 30/11/12 10:47, Osmany Oconnor wrote:
difícil eso, porqué no un día específico de cada mes? El 30/11/12 10:21, Eddy Olivo escribió:
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.
CentOS-es mailing list CentOS-es@centos.org http://lists.centos.org/mailman/listinfo/centos-es
Hola
algunos liks interesantes:
Primer domingo de cada mes:
http://stackoverflow.com/questions/3241086/cron-how-to-schedule-to-run-first...
Ultimo Viernes de cada mes: http://techsk.blogspot.com/2008/06/how-to-run-cronjob-on-last-friday-of.html
Script para Unix weekSelector.
http://www.unix.com/unix-advanced-expert-users/11562-can-cron-do-post41689.h...
Lo unico que estan en ingles.
Espero te sea de ayuda para solucionar tu problema.
Saludos.
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
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@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
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@gmail.comescribió:
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@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
#[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@gmail.comescribió:
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@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
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@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@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@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
--
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@centos.org http://lists.centos.org/mailman/listinfo/centos-es
Y calcular en base a la salida del comando 'cal' el último domingo del mes? Yo creoque también podría ser una alternativa...
Si tenemos la salida de cal como sigue:
November 2012 S M Tu W Th F S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Podemos contar cuántas filas tiene. Si tiene 6 filas, miramos el primer número de la fila 6. Si tiene 7 filas, miramos el primer número de la fila 7. Y eso lo asignamos en un cron.monthly. Insisto, que dicho script se ejecute el primer día del mes.
Entonces, tu formato de cron vendría a ser algo como: #[min] [hour] [day of month] [month] [day of week] [program to be run] * * dia.sh * Sun lo-que-quieras-ejecutar
Espero se entienda.
El 30 de noviembre de 2012 13:42, Eddy Olivo eddyolivo@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@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@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@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
--
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@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@centos.org http://lists.centos.org/mailman/listinfo/centos-es
Creo que programar un scripth en bash para saber si un una fecha dada es domingo último del mes y respaldadando en caso de que lo sea, es algo solventable
Esta idea de cal me parece buena para ello o bien con alguna de las ideas ya expuestas que son mas o menos
Evaluar la fecha de hoy Si DiaSem=7 y Mes=2 y DiaDelMes>=23 Es domingo ultimo de un febrero. respaldar FinSi
Si DiaSem=7 y Mes<>2 y DiaDelMes>24 Es domingo ultimo de un mes distinto a febrero respaldar FinSi
(solo resolver los casos especiales que ya mencionaron con el 24)
Luego poner un cron que se ejecute diario ese scritpt Si, ya se que no se desea que se ejecute diario pero bueno, el cron al final de cuentas debe evaluar diariamente, de manera interna pero lo hace, ademas que no es pesado
Ahora, ¿será realmente importante el respaldar en ese domingo? ¿no puede ser cualquier domingo con tal de que se haga cada mes? Muchas veces los sistemas no los llevan tan al día como para pensar que el dia 1 ya tengo todo lo del mes anterior. En las contabilidades aspectos como el tipo de cambio, hacen que esté completo todo un poco despues.
r.lara
-----Mensaje original----- De: centos-es-bounces@centos.org [mailto:centos-es-bounces@centos.org] En nombre de Héctor Herrera Enviado el: Viernes, 30 de Noviembre de 2012 11:06 a.m. Para: centos-es@centos.org Asunto: Re: [CentOS-es] Cron - programar ultimo domingo de cada mes -
Y calcular en base a la salida del comando 'cal' el último domingo del mes? Yo creoque también podría ser una alternativa...
Si tenemos la salida de cal como sigue:
November 2012 S M Tu W Th F S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Podemos contar cuántas filas tiene. Si tiene 6 filas, miramos el primer número de la fila 6. Si tiene 7 filas, miramos el primer número de la fila 7. Y eso lo asignamos en un cron.monthly. Insisto, que dicho script se ejecute el primer día del mes.
Entonces, tu formato de cron vendría a ser algo como: #[min] [hour] [day of month] [month] [day of week] [program to be run] * * dia.sh * Sun lo-que-quieras-ejecutar
Espero se entienda.
El 30 de noviembre de 2012 13:42, Eddy Olivo eddyolivo@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@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@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@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
--
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@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@centos.org http://lists.centos.org/mailman/listinfo/centos-es
Ya sé cómo se puede hacer!!
Con la salida de 'cal', se puede parsear de la siguiente forma:
#!/bin/bash cal > temporal.txt filaDomingo= $(wc -l temporal.txt | awk {'print $1'}) numero=$(sed -n ${filaDomingo}p temporal.txt | awk {'print $1'}
Aquí tienes el último día. Tendrías que cambiar la variable que mire el comando awk por el que corresponda al día Domingo. Para que sea más fácil de entender, el último Domingo, si está ordenado el calendario de Domingo a Sábado, *es siempre el primer número que aparece en la última fila de la salida de 'cal'*. Y listo, con eso lo tienes. Ahora, te correspondería ver cómo entregarle ese valor a un script, para que escriba en el archivo de configuración de cron, o derechamente que lo mueva según las directrices que corresponden a cron.monthly
Ahora sí que creo que te ayudé :D!
El 30 de noviembre de 2012 14:25, René Lara Alvarado admin@probajio.com.mxescribió:
Creo que programar un scripth en bash para saber si un una fecha dada es domingo último del mes y respaldadando en caso de que lo sea, es algo solventable
Esta idea de cal me parece buena para ello o bien con alguna de las ideas ya expuestas que son mas o menos
Evaluar la fecha de hoy Si DiaSem=7 y Mes=2 y DiaDelMes>=23 Es domingo ultimo de un febrero. respaldar FinSi
Si DiaSem=7 y Mes<>2 y DiaDelMes>24 Es domingo ultimo de un mes distinto a febrero respaldar FinSi
(solo resolver los casos especiales que ya mencionaron con el 24)
Luego poner un cron que se ejecute diario ese scritpt Si, ya se que no se desea que se ejecute diario pero bueno, el cron al final de cuentas debe evaluar diariamente, de manera interna pero lo hace, ademas que no es pesado
Ahora, ¿será realmente importante el respaldar en ese domingo? ¿no puede ser cualquier domingo con tal de que se haga cada mes? Muchas veces los sistemas no los llevan tan al día como para pensar que el dia 1 ya tengo todo lo del mes anterior. En las contabilidades aspectos como el tipo de cambio, hacen que esté completo todo un poco despues.
r.lara
-----Mensaje original----- De: centos-es-bounces@centos.org [mailto:centos-es-bounces@centos.org] En nombre de Héctor Herrera Enviado el: Viernes, 30 de Noviembre de 2012 11:06 a.m. Para: centos-es@centos.org Asunto: Re: [CentOS-es] Cron - programar ultimo domingo de cada mes -
Y calcular en base a la salida del comando 'cal' el último domingo del mes? Yo creoque también podría ser una alternativa...
Si tenemos la salida de cal como sigue:
November 2012 S M Tu W Th F S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Podemos contar cuántas filas tiene. Si tiene 6 filas, miramos el primer número de la fila 6. Si tiene 7 filas, miramos el primer número de la fila 7. Y eso lo asignamos en un cron.monthly. Insisto, que dicho script se ejecute el primer día del mes.
Entonces, tu formato de cron vendría a ser algo como: #[min] [hour] [day of month] [month] [day of week] [program to be run]
* dia.sh * Sun
lo-que-quieras-ejecutar
Espero se entienda.
El 30 de noviembre de 2012 13:42, Eddy Olivo eddyolivo@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@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@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@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
--
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@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@centos.org http://lists.centos.org/mailman/listinfo/centos-es
-- Saludos
*Héctor Herrera Anabalón* Egresado ICCI UNAP Servicio Arquitectura Galatea - Oficina Técnica http://www.galatea.cl Miembro USoLIX Victoria Registered User #548600 (LinuxCounter.net) +56983118902 _______________________________________________ CentOS-es mailing list CentOS-es@centos.org http://lists.centos.org/mailman/listinfo/centos-es
CentOS-es mailing list CentOS-es@centos.org http://lists.centos.org/mailman/listinfo/centos-es
El 30 de noviembre de 2012 11:42, Eddy Olivo eddyolivo@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@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@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@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
--
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@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@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.
El 30 de noviembre de 2012 12:54, Carlos Restrepo restrcarlos@gmail.comescribió:
El 30 de noviembre de 2012 11:42, Eddy Olivo eddyolivo@gmail.comescribió:
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@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@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@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
--
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@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@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
Gracias por toda esta informacion me toca empezar a probar y luegos les cuento.
Saludos
Eddy Olivo El 30/11/2012 15:08, "Carlos Restrepo" restrcarlos@gmail.com escribió:
El 30 de noviembre de 2012 12:54, Carlos Restrepo restrcarlos@gmail.comescribió:
El 30 de noviembre de 2012 11:42, Eddy Olivo <eddyolivo@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@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@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@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
--
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@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@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!. _______________________________________________ CentOS-es mailing list CentOS-es@centos.org http://lists.centos.org/mailman/listinfo/centos-es
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
Estimados, Feliz 2013 a todos..
Lo que he realizado no me ha funcionado, aqui les dejo lo que hice: 1.- en las tareas del "Cron": 30 7 * * 7 [ $(date +"%m") -ne $(date -d 7days +"%m") ] && /usr/bin/backup.sh >> /var/log/backup.log
2.- El script: Ctrl=`date +%a` if [ $Ctrl != "dom" ] then exit fi /usr/bin/php -q /var/www/backup/automatic_backup.php
saludos y gracias por su colaboracion.
EO
El 3 de diciembre de 2012 04:03, Ignasi Cavero ignasi@lleida.net escribió:
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
-- Ignasi Cavero Departament Tècnic LLEIDA.NET Parc Científic i Tecnològic Agroalimentari de Lleida Edifici H1 Planta 2 25003 - Lleida - Spain Tel. +34 973 28 23 00 - Fax. +34 973 28 21 95 http://www.lleida.net
DISCLAIMER: http://www.lleida.net/disclaimer _______________________________________________ CentOS-es mailing list CentOS-es@centos.org http://lists.centos.org/mailman/listinfo/centos-es
Estimados:
esto lo puede realizar gracias a todos por sus comentarios y la solución fue colocando la siguiente tarea en el Cron:
50 7 * * 7 [ `date +"%m"` -ne `date -d 7days +"%m"` ] && /usr/bin/lo_que_quiero_ejecutar.sh
les reitero las gracias
El 2 de enero de 2013 10:45, Eddy Olivo eddyolivo@gmail.com escribió:
Estimados, Feliz 2013 a todos..
Lo que he realizado no me ha funcionado, aqui les dejo lo que hice: 1.- en las tareas del "Cron": 30 7 * * 7 [ $(date +"%m") -ne $(date -d 7days +"%m") ] && /usr/bin/backup.sh >> /var/log/backup.log
2.- El script: Ctrl=`date +%a` if [ $Ctrl != "dom" ] then exit fi /usr/bin/php -q /var/www/backup/automatic_backup.php
saludos y gracias por su colaboracion.
EO
El 3 de diciembre de 2012 04:03, Ignasi Cavero ignasi@lleida.netescribió:
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
-- Ignasi Cavero Departament Tècnic LLEIDA.NET Parc Científic i Tecnològic Agroalimentari de Lleida Edifici H1 Planta 2 25003 - Lleida - Spain Tel. +34 973 28 23 00 - Fax. +34 973 28 21 95 http://www.lleida.net
DISCLAIMER: http://www.lleida.net/disclaimer _______________________________________________ CentOS-es mailing list CentOS-es@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