Cron is een hulpprogramma voor het plannen van taken in het Linux-besturingssysteem. Hiermee kun je scripts of commando's automatisch uitvoeren op bepaalde tijden, intervallen of gebeurtenissen.
Om Cron te gebruiken, moet je een crontab-bestand
maken dat een lijst met taken en tijdsintervallen bevat wanneer ze moeten worden uitgevoerd. Elke taak in crontab is een string die bestaat uit vijf velden gescheiden door spaties:
* * * * * 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)
De *
staat voor een willekeurige waarde, bijvoorbeeld, als het veld minuten een *
bevat, zal de taak elke minuut worden uitgevoerd. Als je een specifieke waarde voor een veld wilt instellen, bijvoorbeeld elke dag om 3 uur, dan moet je 0 3 * * * *
schrijven.
Gebruik het commando crontab -e om een crontab-bestand aan te maken of te wijzigen. Elke gebruiker kan zijn eigen crontab-bestand hebben, evenals het systeembestand /etc/crontab
, dat taken bevat die als de root-gebruiker worden uitgevoerd.
Er is een cronjob
commando waarmee je taken in Docker containers kunt uitvoeren. Het werkt hetzelfde als crontab
, maar taken kunnen in de container worden uitgevoerd in plaats van op het hostsysteem.
Volg deze stappen om Cron te gebruiken in Linux:
1. Open een terminal en typ het commando crontab -e
. Dit opent het crontab-bestand voor de huidige gebruiker.
2. Voeg een taak toe aan het crontab-bestand volgens de hierboven beschreven veldindeling. Als je bijvoorbeeld elk uur het script every_hour.sh
wilt uitvoeren, voeg dan de regel 0 * * * * * /path/to/every_hour.sh
toe.
3. Sla je wijzigingen op en sluit het bestand.
4. Controleer met de opdracht crontab -l
of de taak is toegevoegd aan crontab. Dit geeft een lijst weer van alle taken die aan crontab
zijn toegevoegd.
5. Controleer of de taak wordt uitgevoerd zoals gepland met de opdracht tail -f /var/log/syslog
. Je zult de uitvoer gerelateerd aan het uitvoeren van de taak zien.
6. Als je een taak uit crontab
wilt verwijderen, gebruik dan de opdracht crontab -r
.
Er zijn enkele belangrijke punten om in gedachten te houden:
crontab
. Maar als je een script wilt uitvoeren, zorg er dan voor dat het uitvoerrechten heeft(chmod +x /path/to/script.sh
).sudo crontab -e
om het crontab-bestand
te openen voor de rootgebruiker.Merk op dat de tijd in crontab
overeenkomt met de tijd op de server waarop Cron draait. Als je een externe server gebruikt, zorg er dan voor dat de tijd op de server correct is geconfigureerd.