Een zeer nuttig hulpprogramma in FreeBSD is cron(8). De daemon cron draait op de achtergrond en controleert voortdurend /etc/crontab. Ook controleert cron de map /var/cron/tabs, op zoek naar nieuwe crontab bestanden. Deze crontab bestanden bevatten informatie over specifieke taken die cron moet verrichten op gezette tijden.
cron gebruikt twee verschillende soorten instellingenbestanden: de systeemcrontab en gebruikerscrontabs. Het enige verschil tussen deze twee formaten is het zesde veld. In de systeemcrontab is dit de gebruikersnaam die het commando uitvoert. Hierdoor kunnen met de systeemcrontab commando's als iedere gebruiker uitgevoerd worden. In een gebruikerscrontab is het zesde veld het uit te voeren commando en alle commando's worden uitgevoerd als de gebruiker die de crontab heeft aangemaakt. Dit is een belangrijke veiligheidsmaatregel.
Opmerking: Gebruikerscrontabs geven individuele gebruikers de mogelijkheid om bepaalde terugkerende taken automatisch te laten uitvoeren zonder dat root-rechten noodig zijn. Commando's in de crontab van een gebruiker worden uitgevoerd met de rechten van de eigenaar.
root kan ook een gebruikerscrontab aanleggen. Dit is niet dezelfde als /etc/crontab (de systeemcrontab). Omdat er al een systeemcrontab is, is het doorgaans niet nodig om een gebruikerscrontab voor root te maken.
/etc/crontab (de systeemcrontab) ziet er uit als volgt:
# /etc/crontab - root's crontab for FreeBSD # # $FreeBSD: src/etc/crontab,v 1.32 2002/11/22 16:13:39 tom Exp $ # # SHELL=/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin HOME=/var/log # # #minuut uur mdag maand wdag wie commando # # */5 * * * * root /usr/libexec/atrun
Commando's kunnen een willekeurig aantal opties of argumenten meekrijgen. Als commando's echter meerdere regels nodig hebben moeten deze regels afgebroken worden met een backslash “\” karakter, om aan te geven dat ze op de volgende regel vervolgd worden.
Dit is de basisopzet voor elk crontab bestand. De enige uitzondering is de aanwezigheid van veld zes, waar de gebruikersnaam wordt aangegeven. Dit veld bestaat alleen in het systeembestand /etc/crontab. Voor crontabbestanden van individuele gebruikers moet dit veld worden weggelaten.
Belangrijk: De onderstaande procedure moet niet gebruikt worden om de systeemcrontab te wijzigen of te installeren. Er kan een gewone editor gebruikt worden. cron ziet dat het bestand veranderd is en begint direct met het gebruiken van de nieuwe versie. Deze FAQ vraag geeft verdere uitleg.
Om een nieuwe crontab te installeren moet eerst een bestand in het juiste formaat gemaakt worden en daarna moet het geiuml;nstalleerd worden met commando crontab:
# crontab crontabbestand
In dit voorbeeld is crontabbestand de naam van een eerder gemaakt crontab-bestand.
Er bestaat ook een optie om een lijst van geïnstalleerde crontab-bestanden op te vragen, namelijk de optie -l
van crontab.
Gebruikers die hun eigen crontabbestand willen schrijven zonder het gebruik van een sjabloon, kunnen gebruik maken van crontab -e. Dit opent de EDITOR met een leeg bestand. Als het bestand wordt opgeslagen en de editor wordt afgesloten, wordt het bestand automatisch als crontab geïnstalleerd.
Een gebruikerscrontab kan verwijderd worden door de met crontab de optie -r
te gebruiken.
Deze en andere documenten kunnen worden gedownload van ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
Lees voor vragen over FreeBSD de documentatie alvorens contact te zoeken
<questions@FreeBSD.org>.
Vragen over deze documentatie kunnen per e-mail naar <doc@FreeBSD.org>.