Varje måndag visar vi hur du gör något nytt och enkelt med Apples inbyggda kommandoradsprogram. Du behöver ingen fancy programvara, eller en kunskap om kodning för att göra något av dessa. Allt du behöver är ett tangentbord för att skriva ut dem!

Det finns många gånger när du behöver köra ett skalskript eller kommando med jämna mellanrum. Det kan vara att städa upp ditt system eller köra underhållsuppgifter på din dator. För dessa jobb vill du använda något som kallas "Crons". Ett cronjobb är ett enkelt sätt att ange ett kommando och köra intervall till operativsystemet. Vi visar dig hur du skapar dessa jobb och hur du tar bort dem när de blir onödiga.

Cron-jobbsyntaxen

När du specificerar tiden då en cron körs finns det en specialiserad syntax som används för att berätta operativsystemet exakt när man ska köra uppgiften.
Tidssekvensen för ett cron-jobb ser så här ut:

* * * * *

  • Den första asterisken är för att specificera minutens körning (0-59)
  • Den andra asterisken är för att specificera klockans timme (0-23)
  • Den tredje stjärnstjärnan är för att specificera månadens dag för körningen (1-31)
  • Den fjärde stjärnan är för att specificera månad av körningen (1-12)
  • Den femte stjärnan är för att specificera veckodagen (där söndagen är lika med 0, upp till lördag är lika med 6)

Så, låt oss ta en titt på några exempel:
Om du vill köra jobbet varje dag klockan 1:00, kan du använda följande cron jobbtidssekvens:

0 13 * * *

Om du vill att jobbet ska köras var 30: e minut kan du använda följande sekvens:

30 * * * *

Och till sist, om du vill att jobbet ska springa en gång i veckan på onsdagen, kan du skriva följande sekvens:

* * * * 3

Om du har mer invecklade krav på körtider med cron-jobb kan du titta på den här guiden för mer detaljer om hur du formaterar sekvensen.
Observera att om du inte använder ett specifikt objekt kan du ersätta det med en asterisk (*) och cronen kommer inte att inkludera det i tidssekvensen. Observera att mellan asteriskerna finns flikar och inte mellanslag (så, kopiera inte något här och klistra in), men skriv med flikar.

Skapa ett Cron jobb

När du har sekvensen nere är det faktiskt lätt att skapa jobbet. Vi använder nano för att skapa en crontab-post som innehåller den tidssekvens du har räknat ut, liksom kommandot (eller manusplats) som du vill springa.
För att börja skapa cron-filen skriver du följande kommando:

env EDITOR = nano crontab -e

Detta berättar kommandot "crontab" för att öppna en ny fil inuti nano textredigeraren. Alla dina cronjobb kommer att placeras i denna textfil, var och en på en ny rad. När nano-redigeraren har laddats, skriver du in cron-jobben så här:

[timing sekvens] commandToRun

Byt ut "[tidsföljdssekvens]" med den cron-jobbtidssekvens som du har utarbetat i det första steget. Detta kommer att berätta crontab programmet när du ska köra kommandot. Ersätt "commandToRun" med det faktiska kommandot (eller sökvägen till ett skalskript) som du vill köra vid den angivna tiden i tidssekvensen.
Om du vill ange flera cron-jobb anger du varje cron på en separat rad i filen.
För att spara filen, tryck på Control + O (för att skriva ut filen), skriv sedan in för att acceptera filnamnet och tryck sedan på Control + X (för att avsluta nano).


Om allt gick bra, borde du nu ha ett cron jobb skapat för dig. Om cronen skapades korrekt bör du se "crontab: installera ny crontab".
Ditt kommando (eller skalskript) börjar sedan springa vid den schemalagda tidssekvensen.

Ta bort Cron-jobb

Det kan komma en tid när du inte vill köra ett cronjobb längre. När den tiden kommer, kan du bara redigera filen genom att skriva in följande kommando igen:

env EDITOR = nano crontab -e

Ta bort raden som innehåller kommandot som du inte längre vill använda, spara sedan filen genom att trycka på Control + O (för att skriva ut filen), sedan Kontroll + X (för att avsluta nano).

Lista Schemalagda Cronjobb

Du kan se hur många jobb som planeras från insidan av cron genom att skriva följande kommando:

crontab-l

Detta kommer att lista de aktuella schemalagda jobben, en för en direkt inuti Terminal utan att behöva öppna crontab-filen i textredigeraren.
Cory Bohon är en frilans tekniker författare, indie Mac och IOS utvecklare, och amatör fotograf. Följ artikeln författare på Twitter.