Verder Terug Inhoud

10. Uitgestelde commando's cron en at

10.1 cron

Cron is een commando dat commando's periodiek uitvoert zoals is aangegeven in /etc/crontab en gebruikers-gedefinieerde crontabs. In Debian 1.3 is het standaardmechanisme om commando's in /etc/cron.daily, /etc/cron.weekly en /etc/cron.monthly uit te voeren.

Cron wordt vanuit opstartscripts gestart maar het lijkt zijn PATH in een nogal vreemd pad te wijzigen:

/usr/bin:/binn:/sbin:/bin:/usr/sbin:/usr/bin

DIT IS WAARSCHIJNLIJK EEN BUG IN CRON. Dit is het init pad waar het begin is overschreven door /usr/bin:/bin zonder af te sluiten met 0! Deze bug komt niet op alle systemen voor.

In crontab kan een PATH definitie voorkomen. In Debian 1.3 staat de volgende standaardregel aan het begin van /etc/crontab:

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

Om deze reden wordt het PATH van het crond programma nooit gebruikt in gebruikersprogramma's. Alle scripts in de /etc/cron.* directory's krijgen standaard dit pad. Dit pad wordt zelfs gebruikt als een programma als niet-root wordt uitgevoerd.

10.2 at

at is een commando dat kan worden gebruikt om éénmalig een programma op een specifiek tijdstip uit te voeren.

atd wordt uitgevoerd door gebruik te maken van het init pad. De gebruikersprogramma's worden echter altijd in de gebruikersomgeving met gebruik van het sh commando uitgevoerd. Daarom gelden de gebruikelijke regels van de shell. Kijk hiervoor in het hoofdstuk over bash.


Verder Terug Inhoud