A cron(8) a FreeBSD egyik leghasznosabb
segédprogramja. A cron
segédprogram a háttérben fut és
folyamatosan figyeli az /etc/crontab
állományt. Emellett a cron
új crontab
állományok
után kutatva folyamatosan ellenőrzi a
/var/cron/tabs
könyvtárat. Ezek a crontab
állományok olyan feladatokról tárolnak
adatokat, amelyeket a cron
programnak egy adott
pillanatban el kell végeznie.
A cron
a konfigurációs
állományok két külön
fajtáját, a rendszer- és
felhasználói crontabokat használja. A
két típus között levő egyetlen
különbség a hatodik mezőben
található. A rendszerszintű crontabok
esetében a hatodik mező annak a
felhasználónak a nevét tartalmazza, amivel a
program fut. Ezzel a rendszer szintjén
működő crontaboknak megadatott az a
képesség, hogy tetszőleges
felhasználó nevében futtassanak programokat.
A felhasználók crontabjaiban a hatodik mező a
futtatandó parancsot tartalmazza, és ilyenkor az
összes parancs a crontabot létrehozó
felhasználó nevében hajtódik
végre. Ez utóbbi egy fontos biztonsági
jellemző.
A felhasználói crontabok lehetővé
teszik az egyes felhasználók
számára, hogy a root
felhasználó jogosultságai
nélkül képesek legyenek feladatokat
ütemezni, ugyanis a felhasználóhoz
tartozó crontabban szereplő parancsok mindegyike a
tulajdonosának engedélyeivel fut.
Az átlagos felhasználókhoz
hasonlóan a root
felhasználónak is lehet crontabja, ami nem
ugyanaz, mint az /etc/crontab
(a rendszer
saját crontab állománya). De mivel a
rendszernek külön crontabja van, ezért a
root
felhasználónak nem kell
külön crontabot létrehozni.
Vessünk egy pillanatást az
/etc/crontab
(a rendszer crontabjának)
tartalmára:
# /etc/crontab - a root crontabja FreeBSD alatt # # $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 # # #minute hour day month wday who command
# # */5 * * * * root /usr/libexec/atrun
![]()
A FreeBSD legtöbb konfigurációs
állományához hasonlóan itt is a
| |
Először is meg kell adnunk egy környezetet.
Az egyenlőség ( | |
Ez a sor írja le a megadható hét
mezőt. Az itt szereplő értékek a
| |
Ez az utolsó sor a fentebb tárgyalt
értékeket határozza meg.
Észrevehetjük, hogy a sor egy
Az itt szereplő parancsoknak tetszőleges mennyiségű paraméter adható át, azonban a több soron keresztül átívelő parancsok tördelését a sor végén a "\" karakterrel kell jelezni. |
Ez mindegyik crontab
állomány alapbeállítása,
habár ettől általában egy dologban
eltérnek. A hatodik mező, ahol a
felhasználót adtuk meg, csak a rendszer
/etc/crontab
állományában jelenik meg. Ez a mező a
felhasználók crontab
állományaiból kimarad.
Nem kötelező az itt ismertetésre
kerülő módon szerkeszteni vagy
telepíteni a rendszer crontabját.
Egyszerűen nyissuk meg a kedvenc
szövegszerkesztőnkkel, és a
cron
segédprogram majd
észreveszi, hogy az állomány
megváltozott, majd ennek megfelelően neki is
lát a módosított változat
használatának. Erről a
GYIK-ban (angolul) többet is megtudhatunk.
Egy frissen készített
felhasználói crontab
telepítéséhez először a kedvenc
szövegszerkesztőnk segítségével
létre kell hoznunk a megfelelő
formátumú állományt, majd
használnunk a crontab
segédprogramot. Ennek általános
alakja:
%
crontab crontab_állomány
Ebben a példában a
crontab_állomány
a korábban létrehozott
crontab
neve lesz.
Lehetőségünk van lekérdezni a
telepített crontab
állományokat: egyszerűen adjuk át a
-l
kapcsolót a
crontab
parancsnak, és
nézzük meg, mit ad vissza.
A crontab -e
használata olyan
felhasználók számára
ajánlott, akik sablon alkalmazása
nélkül szeretnének teljesen maguktól
megírni egy crontab állományt. Ennek
hatására a kiválasztott
szövegszerkesztő egy üres állományt
kap. Miután ezt az állományt
elmentettük, a crontab
programmal
magától telepítésre
kerül.
Ha a későbbiekben törölni akarjuk a
felhasználónkhoz tartozó
crontab
állományt, akkor erre
a célra használjuk a crontab
-r
kapcsolóját.
Ha kérdése van a FreeBSD-vel kapcsolatban, a
következő címre írhat (angolul):
<questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése, kérjük erre a címre írjon:
<gabor@FreeBSD.org>.