crontab para dias impares y pares

Victor Hugo dos Santos listas.vhs en gmail.com
Mar Dic 9 17:54:18 CLST 2008


2008/12/9 Aldrin Martoq <amartoq en dcc.uchile.cl>:
> On Tue, 2008-12-09 at 14:40 -0300, Victor Hugo dos Santos wrote:

[...]

> Hmm y si se cae el servicio, cual máquina levantas? Se puede saber cual
> es el objeto de esto?

se cae el servicio (cosa que no debería de ocurrir) hay alarmas que
son enviadas a los encargados y éstes deben de proceder manualmente.

suponiendo que se caiga a las 11:40 PM ... bueno, dependendo del dia
(par o impar) se llevantara una de las maquinas !!! :-)

son servidores replicados, que quiero que funcione
aleatoriamente...para tener garantia que ambos ambiente funcionen
correctamente a diario.. y no tener sorpresas en el futuro.

>> bueno.. para esto, puse estas lineas en los archivos /etc/crontab de
>> cada servidor

[...]

> Es extraño, porque esto funciona perfectamente aca:
>
> amartoq en videopodcast:~$ crontab -l
> # m h  dom mon dow   command
> 0-59/2 * * * * echo par $(date) >> /tmp/test
> 1-59/2 * * * * echo impar $(date) >> /tmp/test
> amartoq en videopodcast:~$ tail -f /tmp/test
> par Tue Dec 9 15:54:02 CLST 2008
> impar Tue Dec 9 15:55:01 CLST 2008
> par Tue Dec 9 15:56:01 CLST 2008

siii.. por aca, con los minutos funciona impeque tambien !!!
probé durante mucho tiempo con las horas y minutos antes de cambiar el
crontab para funcionar en base al dia del mes !!! y fue entonces, que
apareció el error.

> Una opción es que dejes explícitamente los días en que correrá, algo
> como esto:
>
> BLUE
> 01 0 2,4,6,8,10,12,14,16,18,20,22,24,26,28,30 * * root bajar.sh
> 10 0 1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31 * * root subir.sh
> PINK
> 01 0 1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31 * * root bajar.sh
> 10 0 2,4,6,8,10,12,14,16,18,20,22,24,26,28,30 * * root subir.sh

queda muy grande la lista de parámetros !!!
es mas propenso a fallos y me complica contar de 2 en 2 después del 10 !!!  ;-)


> Ojo que en los meses con # días impares, BLUE hará la pega 2 días
> seguidos: el 31 y el 1 del mes siguiente por ejemplo. Si esto es un
> problema, puedes utilizar este script para saber si un día es par o no,
> desde una fecha fija (el epoch):

mmm.. esta es una muy buena observación !!!
pero no debería de influenciar en el funcionamiento (hay rutinas que
verifican si el proceso ya esta o no ejecutando en el servidor
actual).
Obs.: en el ejemplo de arriba que enviaste (con la gran lista de días)
también pasaría el mismo !!! creo que la unica salida (como tu mismo
mencionaste) es poner una función interna en el software/script


salu2 y atento.

-- 
-- 
Victor Hugo dos Santos
Linux Counter #224399



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