Hoe kunnen we helpen?
Taken plannen in Linux met crontab
Crontab openen
Het is belangrijk om de juiste crontab te openen, omdat er eentje is voor elke gebruiker.
- Moet het commando draaien als jouw gebruiker?
Typcrontab -e
in een terminalvenster om de crontab-file voor jouw gebruiker te openen. - Moet het commando draaien als root?
Typsudo crontab -e
in een terminalvenster om de crontab-file voor de rootgebruiker te openen.- Indien jouw Linux-systeem geen sudo gebruikt, kun je in plaats van bovengenoemd commando
su -c "crontab -e"
gebruiken.
- Indien jouw Linux-systeem geen sudo gebruikt, kun je in plaats van bovengenoemd commando
Het kan zijn dat je gevraagd wordt welke editor je wilt gebruiken. De makkelijkste keuze is Nano, als deze optie wordt geboden. Indien de optie niet wordt gegeven, kun je op ieder moment de standaard tekstbewerker van de terminal wijzigen door export EDITOR=nano
uit te voeren in de terminal, gevolgd door een van de crontabcommando’s zoals bovenaan dit hoofdstuk beschreven.
Indeling
In het crontab-bestand staan commando’s per regel, met verschillende data in kolommen. Je kunt onderstaande legenda in je crontab-bestand plakken zodat je altijd weet wat wat is.
# +------------- minute (0 - 59) # ¦ +------------- hour (0 - 23) # ¦ ¦ +------------- day of month (1 - 31) # ¦ ¦ ¦ +------------- month (1 - 12) # ¦ ¦ ¦ ¦ +------------- day of week (0 - 6) (Sunday to Saturday; # ¦ ¦ ¦ ¦ ¦ 7 is also Sunday on some systems) # ¦ ¦ ¦ ¦ ¦ # ¦ ¦ ¦ ¦ ¦ # * * * * * command_to_execute
Dit zijn de mogelijkheden per kolom:
# field # meaning allowed values # ------- ------------ -------------- # 1 minute 0-59 # 2 hour 0-23 # 3 day of month 1-31 # 4 month 1-12 (or names, see below) # 5 day of week 0-7 (0 or 7 is Sun, or use names)
Voorbeelden
Simpel: 1 keer per week
In dit voorbeeld wordt wekelijks op zaterdag een Wget-script gestart en gestopt, zodat een radioprogramma wordt opgenomen. Het script start om 11:58 en eindigt om 14:02 uur.
# DAAN BERG - Streamripper - WOS Radio - Het WeekendMagazine 58 11 * * 6 '/media/daan/Streamripper/WOS Radio.sh' 02 14 * * 6 killall wget
Uitgebreide herhaling van een taak met komma’s of ranges
In dit voorbeeld draait een script elk uur van elke dag om 0, 14, 29 en 44 minuten over het hele uur.
0,14,29,44 * * * * /usr/bin/example2
En dit voorbeeld draait dagelijks om 11:00 een script, maar alleen van januari tot en met juni.
0 11 * 1-6 * /usr/bin/example3