0 10 * * 3 või * 10 * * 3? Lugege minutivälja
0 10 * * 3 käivitub üks kord; * 10 * * 3 käivitub tunnis kuuskümmend korda. Lugege minutivälja, kontrollige väljade järjekorda ja oodake seejärel valmidust, mitte kella.
Mõlemad avaldised näevad välja nagu kolmapäevahommik, ja ainult üks neist tähendab üks kord. 0 10 * * 3 käivitub kolmapäeval kell 10:00; * 10 * * 3 käivitub kümnenda tunni igal minutil, kuuskümmend võimalust sama tunnelit käivitada. Kui käsk on käivitaja, mis ei kontrolli olemasolevat sessiooni, ei ole teine versioon planeerimisviga, vaid tsükkel, mis loob konkureerivaid omanikke. Lugege minutivälja enne, kui loete midagi muud.
Viis välja on minut, tund, kuu päev, kuu ja nädalapäev, selles järjekorras, ja täht esimeses tähendab iga minutit.
Minutiväli otsustab, mitu korda
Juhtiv arv on minut, seega 0 10 * * 3 on kolmapäeva kümnenda tunni esimene minut. Selle asendamine tähega säilitab tunni ja päeva ning kaotab ainult-üks-kord omaduse, mis annab kuuskümmend vastet. Cron ei eemalda duplikaate: iga vaste käivitab käsu uuesti. See ei ole croni peensus, see on väljade semantika, ja paigaldatud plaanuri viidet tasub lugeda, sest väljade järjekord ja valikuline kasutajanime veerg erinevad kasutaja- ja süsteemi-crontabis.
Katsetage kahjutu käsuga, mis salvestab oma ajatempli terve päeva jooksul. Üks rida logis on graafik; kuuskümmend rida tunni jooksul on õppetund.
Mida teine käivitus teeb esimesega
Hästi kasvatatud käivitaja märkab, et ühendus on juba üleval, ja ei tee midagi. Toores openvpn-kutse ei tee: see loob veel ühe protsessi, veel ühe katse siduda seade või port, ja veel ühe marsruudikomplekti, mis konkureerib samade sihtkohtade pärast. NetworkManageris on ühe ühenduse korduvad aktiveerimispäringud tavaliselt idempotentsed ja just seetõttu jääb probleem varjatuks, kuni keegi kasutab teist käsku. Graafik peaks küsima omanikult, kes tunnelit juba haldab.
Seejärel otsustage, mida päring tähendab, kui ühendus on alles loomisel. Ei duplitseeritud aktiveerimine ega ootel käivituste järjekord ei ole ilmselgelt õige; valige üks ja laske käivitajal see rakendada, selle asemel et plaanur otsustaks juhuslikult.
Loendage väljad enne käsku
Kasutaja- ja süsteemi-crontab erinevad selle poolest, kas enne käsku on kasutajanime veerg. Nende vahel kopeeritud kirje kas jookseb vale konto all või edastab kasutajanime käsu esimese sõnana. Kontrollige paigaldatud viidet, mitte juhendit, ja loendage väljad oma real. Viie väljaga kirje, mille ees on kuues sõna, on süsteemi-crontab; sama rida kasutaja-crontabis üritab seda sõna programmina käivitada.
Täitmise identiteet kannab keskkonda endaga kaasas. Cron-töö ei päri avamata võtmerõngast, interaktiivset parooliküsimust ega töökataloogi, kus te testisite.
Oodake valmidust, mitte kella
Edukas käivitus ei ole töötav tunnel. Klient võib töö lõppedes alles oma lõpp-punkti lahendada, autentida või marsruute paigaldada. Iga sõltuv töö peaks ootama kaitstud ressurssi, mida ta tegelikult vajab, piiratud ajapiiranguga ja logitud ebaõnnestumisega, mitte kindlat sekundite arvu. See erinevus eraldab graafiku, mis enamasti töötab, sellest, mis kiirel hommikul vaikselt ebaõnnestub.
Kui sel tunnil on vaja interaktiivset MFA-d, saab töö paluda inimese tähelepanu, kuid ei saa vastust anda. Hoidke see juhtum selgesõnaline, selle asemel et lisada korduvkasutatav parool või proovida lõputult uuesti.
Tõeliselt ühekordse aktiveerimise jaoks kasutage toetatud ühe käivituskorra mehhanismi. Korduv reegel, mida tuleb meeles pidada ja eemaldada, on tulevane duplikaatkäivitus.