Overzicht van crontab
crontab is een afkorting voor 'cron table' en is een bestand dat de geplande taken van de gebruiker bevat. Elke regel in dit bestand definieert een taak (job) en de cron-daemon leest dit bestand om de taken op de geplande tijden uit te voeren.
Structuur van crontab-velden
Elke regel in het crontab-bestand bestaat uit 6 velden. De eerste 5 velden definiëren de tijd van uitvoering, en het laatste veld definieert het uit te voeren commando.
Veld | Beschrijving | Bereik |
---|---|---|
1 | Minuut | 0-59 |
2 | Uur | 0-23 |
3 | Dag van de maand | 1-31 |
4 | Maand | 1-12 |
5 | Dag van de week | 0-7 (0 en 7 zijn zondag) |
6 | Commando | Het uit te voeren commando of script |
Speciale tekens
Gebruik speciale tekens in de tijdsvelden om flexibeler tijd in te stellen.
- `*`: Elk moment (bijv. elke minuut, elk uur)
- `,`: Meerdere waarden instellen (bijv. `1,3,5` -> 1, 3, 5 minuten)
- `-`: Bereik instellen (bijv. `10-15` -> van 10 tot 15 minuten)
- `/`: Interval instellen (bijv. `*/10` -> elke 10 minuten)
Belangrijke opties
Bekijk de besturingsopties voor het crontab-bestand, de kernfunctionaliteit van het crontab-commando.
1. Beheer van crontab-bestanden
2. Beheer van gebruikers
Gegenereerde opdracht:
Probeer de opdrachtcombinaties.
Uitleg:
`crontab` Voer het commando uit.
Combineer deze opties en voer de opdracht virtueel uit met de AI.
Veelgebruikte voorbeelden
Leer hoe je verschillende herhalende taken instelt met crontab.
Voer een back-upscript uit om 2:30 uur 's nachts
crontab -e
30 2 * * * /home/user/backup.sh
Stelt in om het script `/home/user/backup.sh` elke dag om 2:30 uur uit te voeren.
Systeemupdates om 8 uur op maandagochtend
crontab -e
0 8 * * 1 sudo apt update && sudo apt upgrade -y
Update de systeempakketten elke maandag om 8 uur 's ochtends. (op basis van Ubuntu/Debian)
Schoonmaak van logbestanden om de 10 minuten
crontab -e
*/10 * * * * echo '' > /var/log/app.log
Verwijdert de inhoud van het bestand `/var/log/app.log` elke 10 minuten.
Herstart webserver op specifieke tijd
crontab -e
0 4 1 * * sudo systemctl restart nginx
Herstart de webserver (nginx) elke eerste van de maand om 4 uur 's nachts.
Voer elk uur taken uit van 6 uur 's ochtends tot 6 uur 's avonds
crontab -e
0 6-18 * * * /path/to/myscript.sh
Voert `myscript.sh` uit op elk heel uur van 6 uur 's ochtends tot 6 uur 's avonds.
Installatie van crontab (indien nodig)
Meestal standaard geïnstalleerd op de meeste Linux-distributies, maar in sommige minimale installaties kan het nodig zijn om het cron-daemonpakket te installeren.
Debian/Ubuntu
sudo apt update
sudo apt install cron
Installeer de cron-daemon op Ubuntu- of Debian-gebaseerde systemen.
CentOS/RHEL/Fedora
sudo yum install cronie
sudo systemctl enable crond
sudo systemctl start crond
Installeer de cron-daemon op CentOS-, RHEL- of Fedora-gebaseerde systemen.