Zilele trecute Am aflat că containerul meu Docker a fost ucis deoarece demonul docker fusese actualizat automat pe o cutie AWS pe care o rulam.
journald
a arătat aceste mesaje în intervalul de timp relevant:
06 august 05:56:01 ip-192-168-3-117 systemd[1]: Se începe activitățile zilnice de descărcare apt...
06 august 05:56:11 ip-192-168-3-117 systemd[1]: Au început activități zilnice de descărcare a apt.
06 august 06:06:39 ip-192-168-3-117 systemd[1]: Se începe upgrade-ul zilnic al apt și activitățile de curățare...
Aug 06 06:06:48 ip-192-168-3-117 systemd[1]: Reîncărcare.
06 august 06:06:48 ip-192-168-3-117 systemd[1]: Mesaj de început al zilei...
Aug 06 06:06:48 ip-192-168-3-117 systemd[1]: Reîncărcare.
Aug 06 06:06:49 ip-192-168-3-117 systemd[1]: Reîncărcare.
06 august 06:06:49 ip-192-168-3-117 systemd[1]: Oprirea motorului de containere pentru aplicații Docker...
Cum pot să știu când este programat să ruleze? M-am uitat prin diferitele joburi cron din /etc
Și m-am gândit /etc/cron.daily/apt-compat
a fost implicat, deoarece conținea la sfârșit:
# întârzie execuția jobului cu o perioadă de timp aleatorie
random_sleep
# asigurați-vă că nu facem acest lucru pe baterie
verificare_putere || iesirea 0
# rulați munca zilnică
exec /usr/lib/apt/apt.systemd.daily
dar se pare că nu ajunge niciodată atât de departe, deoarece de fapt doar folosește systemd
. Am trecut cu vederea asta la începutul cron.zilnic/apt-compat
:
# Sistemele Systemd folosesc o unitate de cronometru systemd care este de preferat
# alerga. Dorim să randomizăm actualizarea apt și upgrade-ul nesupravegheat
# rulează cât mai mult posibil pentru a evita lovirea de oglinzi
# acelasi timp. Ora de sistem este mai bună la asta decât cea fixă
# cron.timp zilnic
if [ -d /run/systemd/system ]; atunci
iesirea 0
fi
Deci, cumva, systemd programează acest lucru să ruleze în schimb.
Dosarul acela, /usr/lib/apt/apt.systemd.daily
, practic pare scriptul responsabil, deși nu găsesc niciunul dintre șirurile de mai sus, cum ar fi „Pornirea activităților .*”.
Deci, systemd programează acest lucru, dar unde este stocat? Unde i se spune să alerge /usr/lib/apt/apt.systemd.daily
?