A Crontab-bal lehetőségünk van időzített feladatok futtatására.
Ehhez nem kell mást tennünk, mint kiadni a következő parancsot:
crontab -e |
Első indításkor megkérdezni, hogy a telepített szövegszerkesztő közül melyiket szeretnénk használni.
Majd ezt követően megnyitja a szövegszerkesztőt amiben megadhatjuk a futtatni kívánt parancsot és azt is, hogy milyen időközönként akarjuk futtatni.
* * * * * futtatni kívánt parancs | | | | | | | | | | | | | | +----- a hét melyik napján (0 - 6) (vasárnap=0) | | | +------- hónap (1 - 12) | | +--------- a hónap napja (1 - 31) | +----------- óra (0 - 23) +------------- perc (0 - 59) |
A */3 -al tudjuk azt jelölni, hogy az adott parancs 3 percenként fusson le.
Például, ha azt szeretnénk, hogy egy mappa és az abban lévő összes fájl jogosultsága percenként megváltozzon akkor a következőt kell beállítani:
*/1 * * * * chmod -R 775 /home/username/mappa/ |
Ha tudni akarjuk, hogy milyen ütemezések vannak beállítva, ezzel a paranccsal tudjuk lekérdezni:
crontab -l |
Én ma ütöttem össze egy cront, ami a szüleim lubuntuját automatikusan frissíti.
Akit érdekel:
nano /etc/cron.d/cronapt
0 8-16 * * * root (apt-get update -q=2 && apt-get upgrade -qy) >> /var/log/cronapt
Ez minden nap 8 és 16 óra között (szüleim gépe és nem folyamatosan megy, tehát próbáltam olyan időintervallumot elkapni, amik közt biztosan megy) óra egészkor végrehajtja az apt-get update és upgrade parancsot és a kimenetet elmenti egy log fileba megkímélve minket hogy emailt küldjön a rootnak.
A log áttekinthetősége miatt beraktam ezt date ‘+%b %d %T’ && az apt-get update elé, táhát így néz ki a fileom tartalma:
#Frissítés 8-16 óra között
0 8-16 * * * root (date ‘+%b %d %T’ && apt-get update -q=2 && apt-get upgrade -qy && apt-get clean) >> /var/log/cronapt