[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

anacron, cron.daily, stretch



Hallo,

Buchstäblich in letzter Sekunde kam Anfang Juni eine neue Version von
anacron nach Unstable, die einen (seit 2014 bekannten) serious bug
(#744753) erledigt. Wegen dieses Fixes kam das Paket zügig nach stretch
und wurde zwei Wochen später Bestandteil eines stable-Releases.

anacron wird seitdem nicht mehr einmal täglich um 07:30 Uhr, sondern
stündlich aufgerufen. Als direkte Folge davon laufen auf Systemen, auf
denen anacron installiert ist, die cron.{daily,weekly,monthly} nicht
mehr ab 07:35 Uhr, sondern kurz nach Mitternacht.

_Mir_ ist das viel zu früh. Unter anderem deswegen, weil ich um
Mitternacht nicht selten noch am Rechner sitze und nicht mag, wenn mir
Dinge wie Logrotation oder rebuild der locate-db ins laufende Geschäft
spucken. Außerdem haben wir hier jetzt eine signifikante
Verhaltensabweichung zwischen systemd und non-systemd Systemen, weil auf
einem non-systemd System anacron weiterhin nur einmal täglich um 07:30
aufgerufen wird.

Wie bekomme ich nun das alte Verhalten zurück?

(1)
Ich könnte dem anacron-Cronjob - wie in #866041 vorgeschlagen - ein
OnCalendar verpassen, so dass anacron wieder nur einmal täglich
ausgeführt wird. Das verändert das Verhalten vom Default weg. Will ich
eigentlich nicht.

(2)
Sicherstellen, dass auch der alte Mechanismus des Aufrufs um 07:30 Uhr
funktoniert. Das setzt den Timestamp und der stündliche Mechanismus
greift nur, wenn der 07:30-Lauf aus Gründen ausgefallen ist. Hat halt
den Preis, dass cron.daily potenziell einmal zwischen Mitternacht und
sieben läuft und dann um 07:30 nochmal. Und den alten Mechanismus kann
man nicht direkt übernehmen, weil der ja die Zeitstempel ebenfalls
berücksichtigt.

(3)
Man wirft anacron komplett weg, lässt nur den cron da. Ist der Rechner
zur cron.daily-Zeit (die dann 06.25 lautet) aus, fällt der cronjob aus.
Hatten wir vor 20 Jahren so. Auf Servern akzeptabel, auf einem Notebook
eher nicht.

(4)
Man wirft anacron und cron komplett weg und nutzt systemd-cron in
Defaultkonfig. Da werden dann ausgefallene Cronjobs nachgeholt, aber
dafür fehlen wichtige Dinge wie die Übermittlung der Ausgabe der
cronjobs per Mail (die darf man sich dann vermutlich aus dem Journal
pulen). systemd-cron hat halt nich den Anspruch, ein drop-in cron
replacement zu sein.

(5)
Ich schiebe die cron.{daily,weekly,monthly} aufrufe in eine
/etc/anacrontab.0730 und schreibe dafür einen extra timer, der nur um
0730 läuft. Dann wäre die stündlich ausgeführte /etc/anacrontab leer und
die "Lösung" ist ähnlich wie (1) maximal invasiv mit zweifelhaftem
Nutzen

(6)
man bucht das ganze auf "auf einem systemd-system ist eh alles anders
als man's gewöhnt ist, schluck's runter und akzeptier's".

Gibt es weitere Lösungen?

Wie ist Eure Meinung dazu?

Grüße
Marc

P.S. Über die Art und Weise wie hier eine gravierende Änderung mit
erheblichen Nebenwirkungen aus dem systemd-Umfeld durch die Hintertür
zwei Wochen vor dem Release nach Stable gedrückt wurde, lass ich mich
besser nicht aus, ich könnte hier echt ernsthaft böse werden. Das hat
nicht sein müssen.

-- 
Marc Haber         | "I don't trust Computers. They | Mailadresse im Header
Leimen, Germany    |  lose things."    Winona Ryder | Fon: *49 6224 1600402
Nordisch by Nature |  How to make an American Quilt | Fax: *49 6224 1600421


Reply to: