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 Linux és que et permeten fer qualsevol cosa. Un dels grans inconvenients dels sistemes Linux és que et permeten fer qualsevol cosa."

Està clar que les tasques diàries estan programades per a disparar-se a les 05:25h però malauradament l'ordinador se'm reinicia sobre les 07:35h No pot ser cosa de la zona horària perquè l'ordinador està establert amb la nostra (CET) i ara només tenim 1 hora de diferència amb UTC.
Confirma que efectivament sigui així i no estiguis consultant la zona horària d'usuaris individuals. Mira /etc/timezone per confirmar-ho

$ cat /etc/timezone
Europe/Madrid
$ date
dissabte, 11 de febrer de 2023, 20:14:01 CET
$ date --utc
dissabte, 11 de febrer de 2023, 19:14:03 UTC

Estan instal·lats els paquets anacron i cron, però no pas systemd-cron.

He provat de retocar directament /etc/crontab avançant un parell d'hores la columna de l'hora, però no té efecte (ni després d'un nou reinici).
Els canvis a /etc/crontab són d'aplicació immediata, no cal realitzar cap altra acció.
He trobat que la comanda "crontab -e" és adequada per a modificar i aplicar, però em fa editar un fitxer on només hi ha comentaris i cap línia; no sé d'on surt ni on va a parar.
/var/spool/cron/crontabs/

$ sudo ls /var/spool/cron/crontabs/
(res)

I ara fa poca estona em trobo amb això:
$ sudo crontab -e
no crontab for root - using an empty one
/tmp/crontab.if94Er: El fitxer o directori no existeix
Creation of temporary crontab file failed - aborting
Això és correcte, una cosa és el fitxer global de crontab, que té un camp addicional on s'indica amb quin usuari s'ha d'executar cada comanda, i una altra els fitxers individuals editables amb crontab on aquest camp no és necessari ni s'espera que hi sigui (de fet, si hi fos el nom d'usuari s'interpretaria com la comanda i la comanda com els seus paràmetres)
LA MEVA CONSULTA:
Algú sap si Systemd interfereix en tot això?
Per on buscar l'origen del problema?
Això porta funcionant així des de molt abans que existís systemd.


--

Narcis Garcia

__________
I'm using this dedicated address because personal addresses aren't masked enough at this mail public archive. Public archive administrator should fix this against automated addresses collectors.

Respondre per correu electrònic a