Gesteuert wird die gesamte Zeitverarbeitung durch die Datei CRONTAB.BCM Diese Datei ist im Format sehr ähnlich der crontab-Datei unter UNIX. Die folgende Beispiel-Datei ersetzt alle bis zur Version 1.34 der BayCom-Mailbox vorhandenen zeitgesteuerten Jobs:
# Timing-File for BayCom-Mailbox - CRONTAB.BCM # # ranges: # minute: 0-59 hour: 0-23 day: 1-31 month: 1-12 # weekday: 0-6 (0:sun 1:mon 2:tue 3:wed 4:thu 5:fri 6:sat) # #minute hour day month weekday command * * * * * minute 0,30 * * * * halfhour 1,31 * * * * beacon 3,33 * * * * forward 5 2 * * 1,4 postfwd 5 3 * * * purge 35 3 * * * save 5 4 * * 2 reorg 0,15,30,45 * * * * quarter 2 0 * * * hour0 2 1 * * * hour1 [...] 2 22 * * * hour22 2 23 * * * hour23
Kommentarzeilen beginnen mit einem Zeichen Strichpunkt (;) oder einer Raute (#) in der ersten Spalte, jedes Zeichen ungleich 0-9 oder * ist ebenfalls zur Kennzeichnung eines Kommentars zulässig.
In den linken 5 Spalten werden Zeiten angegeben. Hier kann jeweils entweder eine Zeit stehen, oder mehrere durch ``,'' getrennt, oder Zeitbereiche in der Form ``5-12'' oder jede beliebige Kombination die nicht länger als 30 Zeichen ist, also z.B. ``1,2,4-7,5,6-12,16'' Ein * steht für ``jede Zeit ist gültig''. Angegeben werden Minuten, Stunden, Tag im Monat, Monat und Tag der Woche. Bei letzterem bedeutet 0=Sonntag und zählt bis 6=Samstag. Alle Zeitangaben müssen erfüllt sein, damit das angegebene Programm ausgeführt wird (``UND''-Verknüpfung). Sollten mehrere Zeitmodelle ``ODER''-verknüpft werden, so kann dasselbe Programm in mehreren Zeilen angeführt werden.
Das ausgeführte Kommando ist entweder eine Batch-Datei (wird auf Betriebssystem-Ebene ausgeführt und muß im Dateisystem die Erweiterung ``.bat'' haben), oder eine Import-Datei (wird auf BCM-Ebene ausgeführt und muß im Dateisystem die Erweiterung ``.imp'' haben). Außerdem werden einige reservierte, interne Kommandos ausgeführt. Diese sind:
Startet das Ausputzen des kompletten Dateisystems (wurde bis zur Version 1.34 zu ``purgehour'' gestartet).
Stößt das Forwarding zu benachbarten Boxen an (wurde bis zur Version 1.34 zur vollen und halben Stunde gestartet).
Stößt das Erzeugen einer Mail-Bake an. (wurde bis zur Version 1.34 in ``mailbeacon''-Intervallen gestartet).
Leitet liegengebliebene Usermails weiter.
Startet die Dateisystem-Reorganisation. Wenn [opt] weggelassen wird, wird ein kompletter Reorg gemacht. Ansonsten kann ein Teil-Reorg angegeben werden. (siehe HELP REORG)
Sind mehrere Bedingungen im CRONTAB.BCM gleichzeitig erfüllt, so werden sie in der Reihenfolge der CRONTAB.BCM abgearbeitet. Wenn unter DOS ein Batch-Programm (also ein externer DOS-Aufruf) mehr als eine Minute dauert, kann es passieren daß andere Jobs, die unter derselben Zeit, aber weiter hinten stehen, nicht mehr aufgerufen werden, weil inzwischen der Aufrufzeitpunkt überschritten wurde. Unter Linux tritt dieses Problem nicht auf, da die Ausführung der Mailbox durch einen Shell-Aufruf nicht unterbrochen wird.
Interne Kommandos (purge, forward, etc.) sowie IMPORT-Dateien werden nebenläufig ausgeführt, d.h. blockieren sich nicht gegenseitig, sondern starten wirklich zur gleichen Zeit. Wenn solche Überschneidungen unerwünscht sind, so ist dies durch entsprechendes Timing oder sleep-Kommandos in den entsprechenden Import-Dateien zu verhindern.
Die Namen der BATches und IMPorts brauchen nicht ``hour17'' zu lauten, es ist sinnvoller der Anwendung entsprechende Namen zu verwenden, etwa ``mkmstat'' für ``make-monthly-statistics''.