Cronjobs er planlagte opgaver, som din VPS udfører automatisk på bestemte tidspunkter. Med dem kan du oprette backups, rydde op i logfiler, opdatere software eller køre egne scripts regelmæssigt uden manuel indgriben.
Åbn og rediger crontab
Forbind til din VPS via SSH, og åbn crontab-editoren med kommandoen:
crontab -e
Første gang bliver du bedt om at vælge en editor. Vælg nano, hvis du ikke har en favorit. I editoren ser du eksisterende opgaver eller en tom fil, hvor du kan tilføje nye linjer.
Syntaks for et cronjob
Hver linje i crontab følger dette skema:
Minut Time Dag Måned Ugedag Kommando
Nogle eksempler:
0 3 * * * /root/backup.sh: kører backup-scriptet hver dag kl. 03:00.*/15 * * * * /usr/bin/php /var/www/cron.php: kører et PHP-script hvert 15. minut.0 0 * * 0 apt update && apt upgrade -y: kører en systemopdatering hver søndag ved midnat.30 2 1 * * /root/maanedlig.sh: kører et script den 1. i hver måned kl. 02:30.
Stjernen (*) betyder hver værdi. Således svarer * * * * * til hvert minut. Brug */5 for at køre en kommando hver femte enhed.
Gem output i en logfil
Som standard sender cron output per e-mail til systembrugeren. Hvis der ikke er konfigureret en mailserver på din VPS, er det bedre at omdirigere output til en logfil:
0 3 * * * /root/backup.sh >> /var/log/backup.log 2>&1
Så kan du efterfølgende tjekke, om opgaven kørte korrekt. Logfilen vokser med tiden. Ryd op i den regelmæssigt, eller brug logrotate til automatisk rotation.
Undgå almindelige fejl
Angiv altid den fulde sti til programmer og scripts. Et cronjob kører i et minimalt miljø og kender ikke den samme PATH som din shell. Tjek stien til et program med which programnavn. Sørg også for, at dit script er eksekverbart: chmod +x /root/backup.sh. Test kommandoen manuelt i din shell, før du tilføjer den til crontab.
Hvordan tjekker jeg, om mit cronjob kører?
List dine aktive cronjobs med crontab -l. Tjek logfilen, du angav i output-omdirigeringen. Du kan også søge i systemloggen med grep CRON /var/log/syslog.
Kan jeg oprette cronjobs for en anden bruger?
Ja, med crontab -u brugernavn -e redigerer du crontab for en anden systembruger. Det kræver root-rettigheder. Hver bruger har sin egen crontab-fil.
Hvad sker der, hvis VPS er slukket på det planlagte tidspunkt?
Opgaven bliver ikke indhentet. Er din VPS inaktiv på det planlagte tidspunkt, springes kørslen simpelthen over. Til kritiske opgaver, der skal indhentes, kan du bruge anacron som alternativ.
Brug for din egen VPS? Se vores VPS-hostingpakker.