Gràcies Eloi; bona idea la d'enregistrar una programació explícita
apart, que ometi la comprovació d'anacron.
Tingues en compte que sobre les 7:00 l'ordinador es comença a fer
servir, i que es reiniciï justament a les 7:30 és una tocada de nassos.
És per això que l'hora del reinici sí que importa.
Havent desinstal·lat anacron, només amb això el programet ja s'executa a
l'hora programada al /etc/crontab
He trobat que l'anacron s'instal·la per dependència dels paquets:
task-desktop
task-laptop
Així que als servidors (CLI) no se'ls instal·la anacron de forma
imprevista mentre no se'ls instal·li un d'aquests dos paquets/tasques.
* Anacron no garanteix la periodicitat perquè tampoc no actua amb
l'ordinador aturat. Només garanteix 1 execució pendent, sense heretar
periodicitat del temps d'aturada. No vull dir que no sigui útil, és clar.
El 13/2/23 a les 7:42, Eloi ha escrit:
(disculpes per la resposta a dalt, però he cregut millor seguir la
convenció d'aquests missatges)
En primer lloc agraït per les explicacions detallades sobre anacron, és
quelcom on mai havia aprofundit.
Dit tot això, el que em queda clar és que els
cron.{daily|weekly|monthly} amb anacron únicament garanteixen que el que
hi ha allà s'executarà un cop cada {dia|setmana|mes} però, si hi ha
anacron instal·lat, sense garantia sobre en quin moment exacte del dia
passarà (quan es desperta anacron, a 2/4 de 8 del matí, o poca estona
després que s'engega l'ordinador) mentre que, sense anacron, *no* hi ha
garantia que es respecti la periodicitat si l'ordinador no està sempre
engegat.
Reconec que al treballar normalment sobre servidors, que no tenen
instal·lat anacron i estan permanentment engegats, no havia detectat
aquesta particularitat. També, pel fet que mai esperava una hora
específica per a aquestes execucions periòdiques, simplement que s'executés.
Si el que realment interessa és que quelcom s'executi a una hora
determinada, bo i sabent que si l'ordinador no està engegat en aquella
hora no s'executarà (i, en el teu cas específic per a reiniciar, és que
realment no ho necessites), el que jo faria seria posar una programació
explícita sota /etc/cron.d:
55 5 * * * root reboot
No necessites tocar per a res anacron i pots especificar lliurement
l'hora d'execució.
El 11/2/23 a les 21:21, Josep Lladonosa ha escrit:
Hola,
Efectivament, la línia
25 5 * * * root test -x /usr/sbin/anacron || ( cd / &&
run-parts --report /etc/cron.daily )
té dues instruccions: primer el "test" mira si anacron fitxer
executable existeix. Si hi és aleshores ja no fa la segona instrucció
(entre parèntesis) pel que no s'executa el que hi ha a cron.daily.
Desinstal·lant anacron, t'ho faria a les 5:25 h.
On Sat, 11 Feb 2023 at 21:09, tictacbum wrote:
Hola,
anacron està pensat per a sistemes que no estan sempre engegats,
crec que si el desinstales ja s'executarà a l'hora que vols
a man anacron diu:
DEBIAN-SPECIFIC CONFIGURATION
On Debian-based systems, anacron will be activated
hourly every day from *07:30* local time to 23:30 local time
through cron job (on non-systemd systems where cron is installed
and enabled) or systemd timer (on systemd-based systems).
On activation, anacron will check if it missed some jobs. If yes,
it will start those jobs after a short period of
time.
salut!
Lluís
Missatge de Narcis Garcia del dia ds., 11
de febr. 2023 a les 20:17:
El 11/2/23 a les 18:05, Eloi ha escrit:
> El 11/2/23 a les 17:24, Narcis Garcia ha escrit:
>> Salut a tothom.
>>
>> Tinc un ordinador sempre engegat que necessito que es
reiniciï cada
>> dia ben d'hora:
>>
>> $ cat /etc/crontab | grep -e daily
>> 25 5 * * * root test -x /usr/sbin/anacron || ( cd
/ &&
>> run-parts --report /etc/cron.daily )
>>
>> $ cat /etc/cron.daily/reboot
>> #!/bin/sh
>> reboot
>
> Has comprovat que el shell script tingui el bit d'executable
definit?
> Alternativament, si només has d'executar una comanda sense
paràmetres
> podries posar-hi un enllaç simbòlic (jo ho faig així)
Sí, de fet l'ordinador reinicia. També al programet li he fet
enregistrar una bitàcola a /var/log/reboot.log i la fa i hi
marco la
data-hora.
> Per cert, una cosa que s'ha de vigilar amb aquest muntatge
és que
> run-parts executa els scripts de forma seqüencial per ordre
alfabètic.
> Això vol dir, en particular, que si tens un altre script a
/cron.daily
> posterior (bé sigui teu o instal·lat per un paquet), posem
per cas un
> update-foo, aquest ja no s'executarà mai més.
S'executa de ben segur, i una vegada al dia només.
> "Un dels grans avantatges dels sistemes