CRM og dataplatformeMarketing værktøjer

Forståelse og brug af Cron: En omfattende guide til at planlægge job

Cron, forkortelse for kommando køres online, er en kraftfuld tidsbaseret jobplanlægning i Unix-lignende operativsystemer. Begrebet cron er en leg med ordet kronos or Chronos, som i græsk mytologi repræsenterer tid. Navnet cron for den tidsbaserede jobplanlægger afspejler dens funktion med at planlægge og udføre opgaver på bestemte tidspunkter eller intervaller, hvilket gør det til en passende reference til begrebet tid i mytologien.

Cron giver dig mulighed for at automatisere gentagne opgaver, udføre scripts med bestemte intervaller og vedligeholde systemets effektivitet. Denne omfattende guide vil lede dig gennem alt, hvad du behøver at vide om cron, fra installation til brug, nøgleordforråd og rigtige kodeeksempler.

Indholdsfortegnelse

  1. Hvad er cron?
  2. Installation af Cron
  3. Grundlæggende begreber og terminologi
  4. Cron syntaks
  5. Eksempler og brugssager
  6. Almindelige faldgruber og bedste praksis
  7. Yderligere cron-ressourcer

Hvad er Cron?

Cron er en dæmon (baggrundsproces), der kører på Unix-baserede systemer, inklusive Linux og macOS. Dens primære formål er at udføre planlagte opgaver automatisk. Disse opgaver kan variere fra simple scripts til systemvedligeholdelse og sikkerhedskopiering.

Installation af Cron

I de fleste Unix-lignende systemer er cron forudinstalleret. Du kan tjekke dens tilgængelighed ved at åbne en terminal og skrive:

crontab -e

Hvis denne kommando åbner cron tabel-editoren, har du cron installeret. Hvis ikke, kan du installere det ved hjælp af dit systems pakkehåndtering. For eksempel på Ubuntu kan du bruge:

sudo apt-get install cron

Cron koncepter og terminologi

Før vi dykker ned i cron-brug, lad os forstå nogle væsentlige begreber og terminologi:

Cron Diagram Forklaring
  • crontab: Forkortelse for cron bord, det er en fil, der indeholder listen over planlagte opgaver for en bruger.
  • Cronjob: En enkelt opgave eller kommando planlagt til at køre på et bestemt tidspunkt.
  • Fields: Hvert cronjob har fem felter, der definerer, hvornår jobbet kører:
    • Minut (0-59)
    • Time (0-23)
    • Dag i måneden (1-31)
    • Måned (1-12)
    • Ugedag (0-7, hvor både 0 og 7 repræsenterer søndag)

Cron syntaks

At forstå syntaksen for en crontab-indgang er afgørende. Den følger mønsteret:

* * * * * command-to-be-executed

Her er en kommenteret forklaring, som du kan indsætte i dit cron-job:

# +---------------- minute (0 - 59)
# | +------------- hour (0 - 23)
# | | +---------- day of month (1 - 31)
# | | | +------- month (1 - 12)
# | | | | +---- day of week (0 - 6) (Sunday=0 or 7)
# | | | | |
* * * * * /var/www/html/myscript.php

Hver stjerne (*) repræsenterer et felt i cron-udtrykket. Hvis du f.eks. vil planlægge et job hver dag kl. 3, skal du bruge:

30 15 * * * command-to-be-executed

Cron-eksempler og brugssager

Lad os udforske nogle praktiske eksempler for at illustrere cron-brug:

  • Kørsel af et script dagligt: For at udføre et script hver dag ved midnat, kan du bruge:
0 0 * * * /path/to/script.sh
  • Kørsel af et script hver time: Til en timeopgave skal du bruge:
0 * * * * /path/to/script.sh
  • Ugentlig backup: For at planlægge en ugentlig backup om søndagen kl. 2 skal du bruge:
0 2 * * 0 /path/to/backup-script.sh
  • Kørsel af en opgave på bestemte måneder: For kun at køre et job i januar og juli kl. 8:
30 8 * 1,7 * /path/to/script.sh

Cron faldgruber og bedste praksis

  • Miljøvariabler: Sørg for, at dine cron-job opsætter de nødvendige miljøvariabler, da cron-job ikke arver din shells miljøvariabler.
  • Tilladelser: Sørg for at indstille tilladelserne til din scriptfil som eksekverbar. Hver gang jeg skulle gemme mit script igen, ville jeg opdage, at mine tilladelser skulle indstilles igen!
  • Stivariabler: Angiv den fulde sti til eksekverbare filer og scripts i dine cron-job for at undgå problemer med relative stier.
  • Test: Test dem i et sikkert miljø, før du opsætter kritiske cron-job for at sikre, at de fungerer som forventet.
  • Logning: Omdiriger outputtet af dine cron-jobs til en logfil for at spore deres udførelse og eventuelle potentielle fejl.
0 0 * * * /path/to/script.sh >> /path/to/cron.log 2>&1

Dette cron-job kører et script /path/to/script.sh hver dag ved midnat, og outputtet (både stdout og stderr) genereret af scriptet føjes til logfilen

/path/to/cron.log. Dette er en almindelig praksis at fange og logge output fra cron-job til overvågning og fejlfindingsformål. Lad os nedbryde denne specifikke cron job syntaks:

  • *0 0 * * *: Denne del definerer tidsplanen for, hvornår cron-jobbet skal køre. I dette tilfælde er den planlagt til at køre hver dag ved midnat (0 minutter over 0 timer).
  • /sti/til/script.sh: Dette er kommandoen eller scriptet, der skal udføres, når cron-jobbet kører. Dette eksempel viser et script placeret på /path/to/script.sh.
  • >> /sti/to/cron.log: Denne del omdirigerer standardoutputtet (stdout) af cron-jobbet til en logfil med navnet cron.log placeret på /path/to/. Det >> operatør tilføjer output til logfilen, så hvis filen ikke eksisterer, vil den blive oprettet, og hvis den allerede findes, vil outputtet blive tilføjet til slutningen af ​​filen.
  • 2> & 1: Dette bruges til at omdirigere både standardoutput (stdout) og standardfejl (stderr) til den samme logfil. Det 2 repræsenterer stderr, og den 1 repræsenterer stdout. Så, 2>&1 betyder, at både stdout og stderr omdirigeres til den samme logfil, der er angivet tidligere.

Cron er et værdifuldt værktøj til at automatisere opgaver på Unix-baserede systemer. Med sine fleksible planlægningsmuligheder kan den forenkle systemadministration og forbedre effektiviteten. Ved at forstå dens syntaks og følge bedste praksis kan du udnytte crons kraft til at automatisere dine rutineopgaver effektivt.

Yderligere Cron-ressourcer

Douglas Karr

Douglas Karr er CMO for OpenINSIGHTS og grundlæggeren af Martech Zone. Douglas har hjulpet snesevis af succesfulde MarTech-startups, har hjulpet med due diligence på over $5 mia. i Martech-opkøb og -investeringer og fortsætter med at hjælpe virksomheder med at implementere og automatisere deres salgs- og marketingstrategier. Douglas er en internationalt anerkendt digital transformation og MarTech-ekspert og foredragsholder. Douglas er også udgivet forfatter til en Dummies guide og en bog om virksomhedsledelse.

Relaterede artikler

Tilbage til toppen knap
Luk

Adblock fundet

Martech Zone er i stand til at give dig dette indhold uden omkostninger, fordi vi tjener penge på vores websted gennem annonceindtægter, affilierede links og sponsorater. Vi ville sætte pris på, hvis du ville fjerne din annonceblokering, mens du ser vores websted.