Hoe maak en beheer je Cron-jobs op Linux

Cron is een van de meest nuttige tools van Linux en een favoriet van ontwikkelaars omdat het je in staat stelt om geautomatiseerde commando’s uit te voeren op specifieke tijdstippen, data en intervallen met behulp van zowel algemene als taakspecifieke scripts. Gegeven die beschrijving, kun je je voorstellen hoe systeembeheerders het gebruiken om back-uptaken te automatiseren, mapopruiming, meldingen, enzovoort.

Cron-jobs draaien op de achtergrond en controleren voortdurend het /etc/crontab-bestand, en de /etc/cron.*/– en /var/spool/cron/-mappen. De cron-bestanden mogen niet rechtstreeks worden bewerkt en elke gebruiker heeft een unieke crontab.

Hoe moet je dan cron-jobs maken en bewerken? Met crontab-commando’s. De crontab is de methode die je gebruikt om cron-jobs te maken, bewerken, installeren, verwijderen en weergeven.

Het commando voor het maken en bewerken van cron-jobs is hetzelfde en eenvoudig. En wat nog cooler is, is dat je cron niet hoeft te herstarten na het maken van nieuwe bestanden of het bewerken van bestaande.

$ crontab -e

Cron-syntaxis

Net zoals bij elke taal, is het werken met cron veel gemakkelijker wanneer je de syntaxis begrijpt en er zijn 2 formaten die je moet kennen:

A B C D E USERNAME /path/to/command arg1 arg2
OR
A B C D E USERNAME /root/backup.sh

Uitleg van bovenstaande cron-syntaxis:

  • A: Minutes range: 0 – 59
  • B: Hours range: 0 – 23
  • C: Days range: 0 – 31
  • D: Months range: 0 – 12
  • E: Days of the week range: 0 – 7. Starting from Monday, 0 or 7 represents Sunday
  • GEBRUIKERSNAAM: vervang dit door je gebruikersnaam
  • /pad/naar/opdracht – De naam van het script of de opdracht die je wilt plannen

Dat is nog niet alles. Cron gebruikt 3 operator symbolen waarmee je meerdere waarden in een veld kunt specificeren:

  1. Asterisk (*): specificeert alle mogelijke waarden voor een veld
  2. De komma (,): specificeert een lijst van waarden
  3. Streepje (-): specificeert een reeks waarden
  4. Scheidingsteken (/): specificeert een stapwaarde

Nu je de syntaxis en operators van Cron kent, laten we wat cron-voorbeelden bekijken.

Cron-taakvoorbeelden

De eerste stap om cron-opdrachten uit te voeren is het installeren van je crontab met de opdracht:

# crontab -e

Voer /root/backup.sh uit om 3 uur ’s ochtends elke dag:

0 3 * * * /root/backup.sh

Voer script.sh uit om 4:30 uur ’s middags op de tweede van elke maand:

30 16 2 * * /path/to/script.sh

Voer /scripts/phpscript.php uit om 10 uur ’s avonds doordeweeks:

0 22 * * 1-5 /scripts/phpscript.php

Voer perlscript.pl uit 23 minuten na middernacht, om 2 uur ’s ochtends en om 4 uur ’s ochtends, elke dag:

23 0-23/2 * * * /path/to/perlscript.pl

Voer Linux-opdracht uit om 04:05 elke zondag:

5 4 * * sun /path/to/linuxcommand

Cron-opties

Lijst cron-taken.

# crontab -l
OR
# crontab -u username -l

Verwijder alle crontab-taken.

# crontab -r

Verwijder Cron-taak voor een specifieke gebruiker.

# crontab -r -u username

Teksten in Crontab

Teksten zijn een van de favoriete dingen van ontwikkelaars omdat ze helpen tijd te besparen door herhaald schrijven te elimineren. Cron heeft specifieke teksten die je kunt gebruiken om opdrachten sneller te maken:

  1. @hourly: Voer elke uur uit d.w.z. “0 * * * *
  2. @midnight: Voer elke dag een keer uit d.w.z. “0 0 * * *
  3. @daily: hetzelfde als middernacht
  4. @weekly: Voer elke week een keer uit, d.w.z. “0 0 * * 0
  5. @monthly: Voer elke maand een keer uit d.w.z. “0 0 1 * *
  6. @annually: Voer elk jaar een keer uit d.w.z. “0 0 1 1 *
  7. @yearly: hetzelfde als @annually
  8. @reboot: Voer een keer uit bij elke opstart

Bijvoorbeeld, zo maak je een back-up van je systeem elke dag:

@daily /path/to/backup/script.sh

Op dit punt heb je alles wat je nodig hebt om systeemtaken te maken en beheren met Cron. Je kunt nu beginnen met het instellen en onderhouden van verschillende omgevingen met geplande opdrachten.

Hoeveel gebruik je Cron? En zijn er details die je kunt bijdragen aan het artikel? Het discussievak staat hieronder.

Wanneer je genoeg begrijpt over hoe Crontab werkt, kun je deze handige Crontab-generatorhulpprogramma’s gebruiken om gratis crontab-regels te genereren.

Ook kun je het artikel van Ubuntu lezen over hoe Cron te gebruiken hier. Het bevat bronnen die je misschien nuttig vindt.

Source:
https://www.tecmint.com/create-and-manage-cron-jobs-on-linux/