Betalingsmetoder Abuse

Cron i Linux: hvad er det?

26.02.2023, 13:13

Cron er et værktøj til planlægning af opgaver i Linux-operativsystemet. Det giver dig mulighed for at køre scripts eller kommandoer automatisk på bestemte tidspunkter, intervaller eller begivenheder.

Hvordan bruger man det?

For at bruge Cron skal du oprette en crontab-fil, der indeholder en liste over opgaver og tidsintervaller, hvor de skal udføres. Hver opgave i crontab er en streng, der består af fem felter adskilt af mellemrum:

*     *     *     *     *  command_to_execute
-     -     -     -     -
|     |     |     |     |
|     |     |     |     +----- day of the week (0 - 6) (Sunday = 0 or 7)
|     |     |     +------- month (1 - 12)
|     |     +--------- day of the month (1 - 31)
|     +----------- hour (0 - 23)
+------------- minutes (0 - 59)

* står for en hvilken som helst værdi, f.eks. hvis feltet minutes indeholder en *, vil opgaven køre hvert minut. Hvis du vil angive en bestemt værdi for et felt, f.eks. hver dag kl. 3 om morgenen, skal du skrive 0 3 * * * *.

For at oprette eller ændre en crontab-fil skal du bruge kommandoen crontab -e. Hver bruger kan have sin egen crontab-fil samt systemfilen /etc/crontab, som indeholder opgaver, der kører som root-bruger.

Der findes en cronjob-kommando, som gør det muligt at køre opgaver inde i Docker-containere. Den fungerer på samme måde som crontab, men opgaverne kan køres inde i containeren i stedet for i værtssystemet.

Brug af Cron: en trin-for-trin algoritme

Følg disse trin for at komme i gang med at bruge Cron i Linux:

1. Åbn en terminal, og skriv kommandoen crontab -e. Det vil åbne crontab-filen for den aktuelle bruger.

2. Tilføj en opgave til crontab-filen i henhold til det feltformat, der er beskrevet ovenfor. Hvis du f.eks. vil køre scriptet every_hour.sh hver time, skal du tilføje linjen 0 * * * * * /path/to/every_hour.sh.

3. Gem dine ændringer, og luk filen.

4. Kontrollér, at opgaven er blevet tilføjet til crontab ved hjælp af kommandoen crontab -l. Den viser en liste over alle opgaver, der er føjet til crontab.

5. Kontrollér, at opgaven kører som planlagt ved hjælp af kommandoen tail -f /var/log/syslog. Du vil se output relateret til udførelsen af opgaven.

6. Hvis du vil fjerne en opgave fra crontab, skal du bruge kommandoen crontab -r.

Der er nogle vigtige punkter at huske på:

  • Du kan tilføje både scripts og kommandoer til crontab. Men hvis du vil udføre et script, skal du sørge for, at det har execute-rettigheder(chmod +x /path/to/script.sh).
  • Hvis du vil have opgaven til at køre med root-brugerrettigheder, skal du bruge kommandoen sudo crontab -e til at åbne crontab-filen for root-brugeren.
  • Sørg for, at de kommandoer og scripts, du kører, er placeret det rigtige sted og har de rigtige læse- og udførelsesrettigheder.

Bemærk, at det tidspunkt, der er angivet i crontab, svarer til tidspunktet på den server, der kører Cron. Hvis du bruger en fjernserver, skal du sørge for, at tiden på serveren er konfigureret korrekt.