Stanje naloge pravi uspeh, dnevnik kaže dokončan zagon, podatki pa so zastareli ali jih ni. Ta kombinacija običajno pomeni, da se je načrtovana naloga začela brez poti, ki jo je potrebovala, in da je nekaj nižje pogoltnilo napako. Urnik, ki se sproži pravočasno, ne pove nič o tem, ali je bilo omrežje pripravljeno. Prav vrzel med tema dvema dejstvoma je kraj, kjer ta napaka živi.

Dovoljenje pripada zagonu, ne obstoju datoteke cron.

Zelen zagon ni dokončana naloga

Načrtovalec zabeleži, da se je proces začel in pozneje končal; nima pojma, ali je ta proces dosegel vir, za katerega obstaja. Skript, ki neuspešno povezavo obravnava kot prazen rezultat ali ujame napako in izstopi z ničlo, bo videti zdrav za vedno. Simptom ni rdeče stanje; to je verjetno stanje, pripeto na manjkajoče delo.

Poimenujte, kaj zagon v resnici potrebuje, preden se odločite, kako ga preveriti. Varnostna kopija morda potrebuje zasebni DNS in overjeno končno točko, ne le procesa tunela.

Preverite povezavo, ne imena vmesnika

Vmesnik z imenom tun0 lahko obstaja brez seje, ki je pomembna, in druga povezava je lahko lastnik tega imena. Preverite konkretni objekt, od katerega je odvisna naloga: eno identiteto profila, eno instanco storitve ali majhno odobreno operacijo proti viru. Preverjanje držite časovno omejeno, poverilnice pa zunaj argumentov procesa in diagnostičnih dnevnikov.

Določite tudi izid ob prekinitvi. Običajen preskok, ponovni poskus v kratkem oknu in operaterju vidna zamujena roka so trije različni odgovori, ponavljajoči se urnik pa med njimi ne izbira.

Preskoki in napake so različni izidi

[Service]
Type=oneshot
User=worker
ExecCondition=/usr/local/libexec/check-office-path
ExecStart=/usr/local/bin/private-task

V namestitvi systemd ExecCondition= zažene ta preverjevalnik pred delovno obremenitvijo. Njegovo vedenje ob izstopu je posebno: ničla nadaljuje, kode od ena do 254 preskočijo preostale zagonske ukaze, ne da bi enoto označile kot neuspešno, 255 ali nenormalna prekinitev pa jo spodnese. To daje tri različne signale, uporabne le, če se pogodba preverjevalnika namerno preslika nanje. Nastavitve, ki na novo določijo uspeh, lahko spremenijo sliko, zato preslikavo dokumentirajte.

Prav beleženje preskokov naredi zasnovo pošteno. Preskočen zagon, ki se nikjer ne pojavi, je nerazločljiv od zagona, ki je uspel, in obravnavanje vsake napake preverjevalnika kot tihega preskoka neomejeno skriva pokvarjeno namestitev.

Varujte cel zagon, ne le začetka

Preverjanje pripravljenosti opazuje svet pred zagonom; pozneje ne nadzoruje vsake vtičnice. Ko neposredna pot za to nalogo nikoli ni sprejemljiva, priložite odobreno politiko odhoda, ki se izvaja nenehno in pokriva DNS, IPv6 in lastni promet tunela. Preklapljanje globalnega stanja IPv6 gostitelja ne nadomesti politike, omejene na nalogo.

Odločite, ali lahko nov dogodek prekrije še tekočo nalogo, to pravilo imejte pri lastniku delovne obremenitve in naredite ponovni poskus varen za podatkovno operacijo. Ustavitev naloge ob prekinitvi omeji delo, a ne jamči ničesar glede nadomestnega prometa.

Sprejmite potek v treh primerih: pripravljena pot, nedosegljiva pot in izguba med izvajanjem. Karkoli manj preizkusi urnik, ne naloge.

Sorodni članki