Hogyan időzíts szkripteket Raspbian rendszeren a Pi-n?

Szeretnéd ha minden hétfőn automatikusan frissülne az operációs rendszer és a különböző programok a Raspberry Pi-n? 10 percenként szeretnéd ha elindulna a Python szkriptedet, de nem tudod, hogyan futtasd a háttérben? Itt a megoldás, a crontab.

A Crontab a linux beépített időzítője. Egyszerűen beírod a parancsot egy szöveges fájlba, az időt, hogy mikor fusson le, és már kész is vagy.

Ha sudo-val indítod, akkor rendszergazda módban futnak le a parancsaid. Ha sudo nélkül, akkor az aktuális felhasználó futtatja őket. Ez fontos lesz, mert pl. ha rendszerfrissítést akarsz, az csak a rendszergazdák crontab-ján ütemezhető.

sudo crontab -e

A rendszer megkérdezi, melyik szerkesztőprogramot akarod használni. Én a Nano-t használom, mert annak már ismerem a billentyűkombinációit 🙂

Szóval válaszd a NANO-t!

(Ctrl+x a bezárás, utána Y majd Enter a mentés. + Putty-al jobbklikkel illeszted be a vágólap tartalmát. Ctrl+K a sor(ok) vágólapra helyezése és Ctrl+U a beillesztés. Már tudsz is mindent, amit én, a többi a szerkesztőprogi alsó soraiban – igen az a fura ^ jel a Ctrl 🙂 )

Menj le a legalsó sorra, ahol már nincs # jel. (A # jellel kezdődő sorokat nem veszi figyelembe a program, azok csak programozói kommentárok.)
A formátum így néz ki:


 * * * * *  vegrehajtando parancs && masik parancs
 ┬ ┬ ┬ ┬ ┬
 │ │ │ │ │
 │ │ │ │ │
 │ │ │ │ └───── a hét napja (0 - 7) (0-6 = vasárnaptól szombatig, a 7 újra vasárnap)
 │ │ │ └────────── hónap (1 - 12)
 │ │ └─────────────── a hónap adott napján (1 - 31)
 │ └──────────────────── óra (0 - 23)
 └───────────────────────── perc (0 - 59)

Tehát a minden héten szerdán hajnali 3 óra 59 perckor lefutó frissítési parancs így nézne ki:

59 3 * * 3 sudo apt-get update && sudo apt-get upgrade -y

sudo = fusson rendszergazdaként
apt-get = a raspbian telepítőcsomag-kezelő programja
update = a repository-k frissítése (csomaginformációk lekérése a szerverről)
&& =ha az első parancs sikeresen lefutott, fusson le az && utáni is
upgrade = programok frissítése
-y = automatikusan mondjon igent a telepítést megerősítő kérdésre.

A 10 percenként lefutó python parancs pedig így nézne ki:

*/10 * * * * sudo python /home/pi/parancs.py

Ebből rájöhetsz, hogy a * azt jelenti mindegyik

percben/órában/napon/ahétmindennapján/mindenhónapban

a /10 pedig hogy csak mindegyik 10-en.

Kilépéshez nyomd meg: Ctrl+x a bezárás, utána Y  a mentés, majd Enter az azonos néven mentés.

Ideális lehet időjárás-lekérdezésekhez, hőmérsékletszenzor leolvasáshoz, vagy hasonló feladatokhoz.

A crontab használatáról többet is olvashatsz itt,itt meg itt:
https://www.rackhost.hu/wiki/Cron
http://www2.akg.hu/net/unix/crontab.html
http://hplinuxblog.blogspot.hu/2008/08/crontab-egyszeren-misztikus.html

További jó programozást!

Reklámok

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés /  Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés /  Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés /  Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés /  Módosítás )

Kapcsolódás: %s