Albei uitdrukkings lyk soos 'n Woensdagoggend, en net een van hulle beteken een keer. 0 10 * * 3 vuur om 10:00 op Woensdag; * 10 * * 3 vuur elke minuut van die tienuur-uur, sestig kanse om dieselfde tonnel te begin. As die opdrag 'n lanseerder is wat nie na 'n bestaande sessie kyk nie, is die tweede weergawe nie 'n skeduleringsfout nie, dit is 'n lus wat mededingende eienaars skep. Lees die minuutveld voordat jy enigiets anders lees.

Die vyf velde is minuut, uur, dag van die maand, maand en dag van die week, in daardie volgorde, en 'n ster in die eerste een beteken elke minuut.

Die minuutveld bepaal hoeveel keer

Die voorste getal is die minuut, dus 0 10 * * 3 is die eerste minuut van die tiende uur op Woensdag. Om dit met 'n ster te vervang behou die uur en dag en laat die eienskap van net-een-keer vaar, wat sestig treffers oplewer. Cron herhaal nie: elke treffer lanseer die opdrag weer. Dit is nie 'n fynheid oor cron nie, dit is veldsemantiek, en die verwysing van die geinstalleerde skeduleerder is werd om te lees, want veldorde en die opsionele gebruikersnaamkolom verskil tussen gebruiker- en stelsel-crontabs.

Toets met 'n onskadelike opdrag wat sy eie tydstempel vir 'n dag opteken. Een reel in die log is 'n skedule; sestig reels binne 'n uur is 'n les.

Wat 'n tweede lansering aan die eerste doen

'n Goedgemanierde lanseerder merk dat die verbinding reeds op is en doen niks. 'n Rou openvpn-aanroep nie: dit skep nog 'n proses, nog 'n poging om 'n toestel of 'n poort te bind, en nog 'n stel roetes wat om dieselfde bestemmings meeding. Op NetworkManager is herhaalde aktiveringsversoeke vir een verbinding gewoonlik idempotent, en dit is juis waarom die probleem verborge bly totdat iemand 'n ander opdrag gebruik. Die skedule moet die eienaar vra wat reeds die tonnel bestuur.

Besluit dan wat 'n versoek beteken terwyl die verbinding besig is om te koppel. Nog duplikaataktivering nog 'n tou van hangende begin is duidelik korrek; kies een en laat die lanseerder dit implementeer, eerder as om die skeduleerder per ongeluk te laat besluit.

Tel die velde voor die opdrag

Gebruiker- en stelsel-crontabs verskil daarin of 'n gebruikersnaamkolom voor die opdrag verskyn. 'n Inskrywing wat tussen hulle gekopieer word, loop of as die verkeerde rekening of gee die gebruikersnaam as die eerste woord van die opdrag deur. Kyk na die geinstalleerde verwysing eerder as 'n gids, en tel die velde in jou eie reel. 'n Vyfveld-inskrywing met 'n sesde woord voor die opdrag is 'n stelsel-crontab; dieselfde reel in 'n gebruiker-crontab probeer daardie woord as 'n program uitvoer.

Die uitvoeringsidentiteit dra die omgewing saam. 'n Cron-taak erf nie 'n ontslote sleutelring, 'n interaktiewe wagwoordprompt of die werkmap waarin jy getoets het nie.

Wag vir gereedheid, nie vir die klok nie

'n Suksesvolle lansering is nie 'n werkende tonnel nie. Die klient mag nog besig wees om sy eindpunt op te los, te verifieer of roetes te installeer wanneer die taak klaarmaak. Enige afhanklike taak moet wag vir die beskermde hulpbron wat dit werklik nodig het, met 'n begrensde tydperk en 'n gelogde mislukking, eerder as vir 'n vaste aantal sekondes. Daardie onderskeid skei 'n skedule wat meestal werk van een wat stil misluk op die besige oggend.

As interaktiewe MFA op daardie uur vereis word, kan die taak 'n mens se aandag vra, maar nie die antwoord verskaf nie. Hou daardie geval eksplisiet in plaas daarvan om 'n herbruikbare wagwoord in te sluit of vir ewig te herprobeer.

Vir 'n werklik eenmalige aktivering, gebruik die ondersteunde eenmalige meganisme. 'n Herhalende reel wat onthou en verwyder moet word, is 'n toekomstige duplikaat-lansering.

Verwante artikels