π Hoofdstuk 26.5: Running Like Clockwork β Tijdgestuurd Scripts Uitvoeren
ββββββββββββββββββββββββββββββββββββββββββββ
π§ Optie 1: at β EΓ©nmalige taken plannen
ββββββββββββββββββββββββββββββββββββββββββββ
β’ at voert een script uit op een specifiek tijdstip.
β’ atd daemon verwerkt taken (controleert elke 60 sec).
β’ Taken opgeslagen in: /var/spool/at
Gebruik:
at -f script.sh 10:15 # Uitvoeren van script om 10:15
at 10:15 # Start interactieve modus
> scriptregels
> CTRL+D
π
Ondersteunde tijdformaten:
- 10:15
- 10:15 p.m
- now
- +25 minutes
- teatime (16:00)
- 10:15 tomorrow
- Jul 4
π·οΈ Prioriteit instellen:
-q gevolgd door letter (a = hoogste)
π¬ Output:
- Via e-mail naar gebruiker
- -m optie: mail versturen ook zonder output
ποΈ at-taken beheren:
atq # Toon geplande taken
atrm ID # Verwijder job met ID
ββββββββββββββββββββββββββββββββββββββββββββ
π Optie 2: cron β Herhalende taken
ββββββββββββββββββββββββββββββββββββββββββββ
β’ cron gebruikt een tabel met het volgende formaat:
min hour day-of-month month day-of-week command
β’ Voorbeeld:
15 16 * * * /pad/naar/script.sh β elke dag om 16:15
β’ Dag van de week: 0 = zondag, 6 = zaterdag
π Crontab beheren:
crontab -l # Bekijk huidige crontab
crontab -e # Bewerk crontab
β€ Gebruik volledige paden voor commandoβs!
ββββββββββββββββββββββββββββββββββββββββββββ
β²οΈ Optie 3: systemd timers β Moderne alternatief
ββββββββββββββββββββββββββββββββββββββββββββ
β’ Flexibeler dan cron, gebruikt .timer-bestanden
β’ GeΓ―ntegreerd met systemd services
[Timer] voorbeelden:
OnBootSec=5min # 5 minuten na opstart
OnCalendar=Mon *-*-* 10:00 # Elke maandag om 10:00
Persistent=true # Voert alsnog uit als gemist
WakeSystem=true # Haalt systeem uit slaap
RandomizedDelaySec=30s # Voegt vertraging toe
RemainAfterElapse=true # Laat status achteraf zien