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.
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.
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å:
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).
sudo crontab -e
til at åbne crontab-filen
for root-brugeren.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.