[opensuse-es] Hora de ejecución de cron.weekly
Buenos días: Con OS viene configurado en el cron.weekly la ejecución del balance de btrfs. El problema es que esta ejecución prácticamente durante 15 o 20 minutos se come el servidor y en horario de oficina se oyen los gritos del personal. Así que reviso documentación y pone que para ejecutarlo a una hora concreta hay que modificar el fichero var/spool/cron/lastrun/cron.weekly con la hora a la que quieres que se ejecute touch -t 201810080200 /var/spool/cron/lastrun/cron.weekly y se supone que se ejecutará la próxima vez a las 2 de la mañana. Pero hasta aquí llegó. El muy c.... se ejecuta cuando le da la gana o con alguna configuración oculta que no encuentro. EL de diario si que tiene su configuración en sysconfig, este no. La solución rápida es pasar esa ejecución al cron normal, pero me gustaría saber cual es la lógica de este cron.weekly para que se ejecute a una hora determinada dentro de esa semana de tiempo. Saludos -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
On 29/10/2018 09.31, Francisco F. wrote:
Buenos días:
Con OS viene configurado en el cron.weekly la ejecución del balance de btrfs.
El problema es que esta ejecución prácticamente durante 15 o 20 minutos se come el servidor y en horario de oficina se oyen los gritos del personal. Así que reviso documentación y pone que para ejecutarlo a una hora concreta hay que modificar el fichero var/spool/cron/lastrun/cron.weekly con la hora a la que quieres que se ejecute
touch -t 201810080200 /var/spool/cron/lastrun/cron.weekly
y se supone que se ejecutará la próxima vez a las 2 de la mañana.
Creo que eso ya no es válido. Al menos hablaron de ello, lo tendría que mirar a ver como está realmente.
Pero hasta aquí llegó. El muy c.... se ejecuta cuando le da la gana o con alguna configuración oculta que no encuentro.
EL de diario si que tiene su configuración en sysconfig, este no.
¿De qué versión de openSUSE estamos hablando?
La solución rápida es pasar esa ejecución al cron normal, pero me gustaría saber cual es la lógica de este cron.weekly para que se ejecute a una hora determinada dentro de esa semana de tiempo.
Ah, que es el semanal. Telcontar:~ # l /var/spool/cron/lastrun/ total 8 drwxr-xr-x 2 root root 4096 Oct 29 10:45 ./ drwx------ 4 root root 4096 Jul 7 2017 ../ -rw-r--r-- 1 root root 0 Oct 28 22:15 cron.daily -rw-r--r-- 1 root root 0 Oct 29 10:45 cron.hourly -rw-r--r-- 1 root root 0 Oct 4 08:39 cron.monthly -rw-r--r-- 1 root root 0 Oct 25 21:45 cron.weekly minas-tirith:~ # l /var/spool/cron/lastrun/ total 8 drwxr-xr-x 2 root root 4096 Oct 29 10:45 ./ drwx------ 4 root root 4096 May 14 18:21 ../ -rw-r--r-- 1 root root 0 Oct 27 23:45 cron.daily -rw-r--r-- 1 root root 0 Oct 29 10:45 cron.hourly -rw-r--r-- 1 root root 0 Oct 4 11:00 cron.monthly -rw-r--r-- 1 root root 0 Oct 22 23:46 cron.weekly En estas dos máquinas (la primera un sobremesa y la segunda un portátil, ninguno está continuamente en marcha) se están ejecutando a la hora esperada. Pero en este otro, que es un servidor 24*7, no: Isengard:~ # l /var/spool/cron/lastrun total 8 drwxr-xr-x 2 root root 4096 Oct 29 10:45 ./ drwx------ 4 root root 4096 Jul 7 2017 ../ -rw-r--r-- 1 root root 0 Oct 28 22:15 cron.daily -rw-r--r-- 1 root root 0 Oct 29 10:15 cron.hourly -rw-r--r-- 1 root root 0 Oct 17 11:00 cron.monthly -rw-r--r-- 1 root root 0 Oct 28 01:45 cron.weekly Isengard:~ # Para contestarte, tengo que estudiar de nuevo como está hecho. -- Cheers / Saludos, Carlos E. R. (from 42.3 x86_64 "Malachite" at Telcontar)
On 29/10/2018 10.58, Carlos E. R. wrote:
Para contestarte, tengo que estudiar de nuevo como está hecho.
etc/crontab: -*/15 * * * * root test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons >/dev/null 2>&1 Eso significa que se evalúa cada 15 minutos. Configuración en /etc/sysconfig/cron cron.daily) # if DAILY_TIME set, run only at a fixed time of day cron.weekly) TIME="-cmin +10080 -or -cmin 10080" ;; ... eval find $SPOOL/$BASE $TIME | \ xargs --no-run-if-empty rm Y SPOOL=/var/spool/cron/lastrun BASE=${CRONDIR##*/} CRONDIR=/etc/cron.weekly TIME_EXT=${BASE##cron.} Luego queda: eval find /var/spool/cron/lastrun/cron.weekly \ -cmin +10080 -or -cmin 10080 | \ xargs --no-run-if-empty rm Por lo que veo, me parece que no se hace consideración de la hora de ejecución. -- Cheers / Saludos, Carlos E. R. (from 42.3 x86_64 "Malachite" at Telcontar)
Hola, sale de retro satanas !! :-D De donde sacaron esta idea ?? cual se supone que era la ventaja sobre y cron-vixie ??? salu2 On Mon, Oct 29, 2018 at 7:19 AM Carlos E. R. <robin.listas@telefonica.net> wrote:
On 29/10/2018 10.58, Carlos E. R. wrote:
Para contestarte, tengo que estudiar de nuevo como está hecho.
etc/crontab: -*/15 * * * * root test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons >/dev/null 2>&1
Eso significa que se evalúa cada 15 minutos.
Configuración en /etc/sysconfig/cron
cron.daily) # if DAILY_TIME set, run only at a fixed time of day
cron.weekly) TIME="-cmin +10080 -or -cmin 10080" ;;
...
eval find $SPOOL/$BASE $TIME | \ xargs --no-run-if-empty rm
Y
SPOOL=/var/spool/cron/lastrun BASE=${CRONDIR##*/} CRONDIR=/etc/cron.weekly TIME_EXT=${BASE##cron.}
Luego queda:
eval find /var/spool/cron/lastrun/cron.weekly \ -cmin +10080 -or -cmin 10080 | \ xargs --no-run-if-empty rm
Por lo que veo, me parece que no se hace consideración de la hora de ejecución.
-- Cheers / Saludos,
Carlos E. R. (from 42.3 x86_64 "Malachite" at Telcontar)
-- -- Victor Hugo dos Santos http://www.vhsantos.net Linux Counter #224399 -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
On 29/10/2018 15.53, Victor Hugo dos Santos wrote:
Hola,
sale de retro satanas !! :-D De donde sacaron esta idea ?? cual se supone que era la ventaja sobre y cron-vixie ???
SuSE siempre ha usado este sistema. Se estaba pensando en cambiar a un timer de systemd. -- Cheers / Saludos, Carlos E. R. (from openSUSE 15.0 (Legolas))
El 29/10/18 a las 10:58, Carlos E. R. escribió:
On 29/10/2018 09.31, Francisco F. wrote:
Buenos días:
Con OS viene configurado en el cron.weekly la ejecución del balance de btrfs.
El problema es que esta ejecución prácticamente durante 15 o 20 minutos se come el servidor y en horario de oficina se oyen los gritos del personal. Así que reviso documentación y pone que para ejecutarlo a una hora concreta hay que modificar el fichero var/spool/cron/lastrun/cron.weekly con la hora a la que quieres que se ejecute
touch -t 201810080200 /var/spool/cron/lastrun/cron.weekly
y se supone que se ejecutará la próxima vez a las 2 de la mañana.
Creo que eso ya no es válido. Al menos hablaron de ello, lo tendría que mirar a ver como está realmente.
Pero hasta aquí llegó. El muy c.... se ejecuta cuando le da la gana o con alguna configuración oculta que no encuentro.
EL de diario si que tiene su configuración en sysconfig, este no.
¿De qué versión de openSUSE estamos hablando?
42.3
La solución rápida es pasar esa ejecución al cron normal, pero me gustaría saber cual es la lógica de este cron.weekly para que se ejecute a una hora determinada dentro de esa semana de tiempo.
Ah, que es el semanal.
Telcontar:~ # l /var/spool/cron/lastrun/ total 8 drwxr-xr-x 2 root root 4096 Oct 29 10:45 ./ drwx------ 4 root root 4096 Jul 7 2017 ../ -rw-r--r-- 1 root root 0 Oct 28 22:15 cron.daily -rw-r--r-- 1 root root 0 Oct 29 10:45 cron.hourly -rw-r--r-- 1 root root 0 Oct 4 08:39 cron.monthly -rw-r--r-- 1 root root 0 Oct 25 21:45 cron.weekly
minas-tirith:~ # l /var/spool/cron/lastrun/ total 8 drwxr-xr-x 2 root root 4096 Oct 29 10:45 ./ drwx------ 4 root root 4096 May 14 18:21 ../ -rw-r--r-- 1 root root 0 Oct 27 23:45 cron.daily -rw-r--r-- 1 root root 0 Oct 29 10:45 cron.hourly -rw-r--r-- 1 root root 0 Oct 4 11:00 cron.monthly -rw-r--r-- 1 root root 0 Oct 22 23:46 cron.weekly
En estas dos máquinas (la primera un sobremesa y la segunda un portátil, ninguno está continuamente en marcha) se están ejecutando a la hora esperada. Pero en este otro, que es un servidor 24*7, no:
Isengard:~ # l /var/spool/cron/lastrun total 8 drwxr-xr-x 2 root root 4096 Oct 29 10:45 ./ drwx------ 4 root root 4096 Jul 7 2017 ../ -rw-r--r-- 1 root root 0 Oct 28 22:15 cron.daily -rw-r--r-- 1 root root 0 Oct 29 10:15 cron.hourly -rw-r--r-- 1 root root 0 Oct 17 11:00 cron.monthly -rw-r--r-- 1 root root 0 Oct 28 01:45 cron.weekly Isengard:~ #
Para contestarte, tengo que estudiar de nuevo como está hecho.
Tampoco te mates mucho, es simple curiosidad de como puede funcionar de forma tan rara. Lo pasaré al cron normal. Gracias -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
On 29/10/2018 11.20, Francisco F. wrote:
El 29/10/18 a las 10:58, Carlos E. R. escribió:
Para contestarte, tengo que estudiar de nuevo como está hecho.
Tampoco te mates mucho, es simple curiosidad de como puede funcionar de forma tan rara.
No me he matado mucho, no creas :-) Sospecho que debiera intentar ejecutar a la misma hora que la vez anterior, según lo ve en el fichero bandera. Pero ojo, el touch que hiciste está mal. Se evalua la condición cuatro veces cada hora, a ver si es mayor que "una semana". 201810080200 es bastante mayor que una semana, luego se va a ejecutar *ahora*. A la una menos cuarto, para ser exactos. Hoy dia 29 tienes que ponerle 201810220200, creo.
Lo pasaré al cron normal.
Si quieres estar seguro, sí. O edita el fichero para que evalúe también la hora. Yo creo que es un bug. -- Cheers / Saludos, Carlos E. R. (from openSUSE 15.0 (Legolas))
participants (3)
-
Carlos E. R.
-
Francisco F.
-
Victor Hugo dos Santos