Running Like Clockwork

πŸ“š 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