Crontab syntax

Een crontabtaak bestaat uit vier datum/tijd velden en een opdrachtveld. Elke minuut controleert cron alle crontabs of de huidige datum/tijd overeenkomt met die van de taken. Als deze gelijk zijn, wordt de opdracht in de desbetreffende taak uitgevoerd. De systeemcrontab heeft een extra "Gebruikers"-veld dat cron vertelt met welke gebruikersidentiteit de opdracht moet worden uitgevoerd.

De velden zijn:

Min minuut van uitvoering: 0-59
Uur uur van uitvoering: 0-23
Mdag dag van maand van uitvoering: 1-31
Maand maand van uitvoering: 1-12 (of namen)
Wdag dag van week van uitvoering: 0-7 (0 of 7 is zondag, of namen)
Opdracht Alles wat vanaf een opdrachtregel (prompt) gestart kan worden

Mogelijke waarden:
* gelijk aan alle waarden, bijv. een * in maand betekent: "alle maanden"
x-y gelijk aan het bereik x t/m y, bijv. 2-4 in Mdag betekent "op de 2e, 3e, en 4e van de maand"
x/n in bereik x met herhaling n, bijv. */2 in Uur betekent "elke twee uur"

Maand accepteert ook namen, bijv. jan, Feb (maakt geen onderscheid tussen hoofdletters en kleine letters). Je kunt nu echter geen bereik opgeven.

Weekdagen kunnen ook als naam ingevoerd worden, bijv zon, Maa.

Er zijn verscheidene speciale schema-shortcuts die CronniX nog niet ondersteunt, zoals @yearly, @daily, etc (zie 'man 5 crontab' voor details). Op een na zijn dit allemaal shortcuts. Bijvoorbeeld @daily betekent '0 0 * * *'. De 'tag' die verschilt is @reboot.

Ik heb niet bevestigd dat deze tags (speciaal @reboot) functioneren, noch dat ze door de huidige versie van CronniX ondersteund worden. Wellicht verandert dit in de toekomst. Het is voornamelijk een probleem hoe ik ze in het tabelvenster moet weergeven.

Ik overweeg om enkel conversies uit te voeren tussen shortcuts (en hun betekenis) en de lange versie te gebruiken voor het schrijven van een crontab. Dit heeft tot gevolg dat shortcuts geconverteerd worden als ze door CronniX worden verwerkt. De "Interval"-tab in de "Wijzig"-dialoog (als deze gebruiksklaar is) stelt je in staat om een van deze schema's te selecteren, dus de mogelijkheid blijft aanwezig.

De @reboot past niet in dit rijtje en, behalve een extra venster of het uitbreiden van het bestaande tabelvenster, weet ik nog niet hoe ik dit in CronniX ga verwerken.


Home