Startpagina > Pakket- en systeembeheer > crontab

Volledige gids voor het crontab-commando: Hoe herhalende taken in te plannen

`crontab` is een commando dat wordt gebruikt in Linux/Unix-systemen om gebruikers in staat te stellen specifieke commando's of scripts op geplande tijden regelmatig uit te voeren. Het speelt een zeer belangrijke rol bij het automatiseren van repetitieve taken zoals systeemonderhoud, back-ups en gegevenssynchronisatie.

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.

Details van tijdsvelden
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.


gerelateerde commando's

Functional vergelijkbare of vaak samen gebruikte commando's.


Hétzelfde categoriecommando