Scheduling

Leerdoelen

  • Hoe zorgen we dat een taak op een tijdstip wordt uitgevoerd?
  • Hoe zorgen we dat een taak herhaald wordt uitgevoerd?

Wat moet er gebeuren?

Scheduling

  • Opdrachten uitvoeren op een bepaald moment
    • Kan een enkele opdracht zijn
    • Kan een herhaalde opdracht zijn
    • Elke minuut, dag, maand, jaar
    • Nooit meer een verjaardag vergeten?
  • Linux gebruikt hiervoor cron
  • Vergelijk met Windows Task Scheduler

cron servers and tools

  • Vixie Cron
    • Paul Vixie
    • Is de standaard cron (Debian)
  • Anacron
    • Gaat er niet van uit dat de machine altijd aanstaat
    • Kan dus ook oudere jobs draaien

cron en de tabs

  • cron is een achtergrond proces (daemon)
  • Leest zijn taken uit crontabs
    • Systeem:
      • /etc/crontab
    • Personal
      • /var/spool/cron/crontabs/<username>
      • crontab -e

crontab

cron directories

  • /etc/cron.d
    • Scripts van de distro-bouwer
  • /etc/cron.hourly
  • Anacron: /etc/cron.daily
  • Anacron: /etc/cron.weekly
  • Anacron: /etc/cron.monthly

Manual Pages

  • man crontab
    geeft manual page van het commando
    • man 1 crontab
  • man 5 crontab
    geeft manual page van de configuratie

Configuratie

  • Standaard regel:
    • min uur dag/maand maand dag/week user commando
    • dag/maand = dag van de maand: 1-31
    • maand: 1-12
    • dag/week = dag van de week: (0,7 = zondag)
    • user: alleen in system, niet in personal
    • commando: Full path
  • 4 minuten over 3, op 2 januari, dag maakt niet uit:
4 3 2 1 * root /usr/bin/date

Samenvatting

  • We hebben gezien dat we opdrachten kunnen schedulen
  • We hebben gezien hoe we Vixie Cron moeten configureren
  • We hebben geleerd dat anacron jobs kan inhalen