Ruby rendszergazdák számára

Ruby - gazdag, freeware, egyszerű, rugalmas, tömör, objektum-orientált programozási nyelv. Mostanában nagyon népszerű a hálózaton. Ez népszerűsége részben annak köszönhető, hogy egy nagyon erős platform fejlesztése a web-alapú alkalmazások, sínek, írt Ruby. A Rails, vagy a Ruby on Rails (ROR), ahogy nevezik, amely egy nagyon erőteljes platform gyors és hatékony fejlesztését web-alapú alkalmazások. Ez jól skálázható és számos meglévő web-oldalak segítségével létrehozott Ruby on Rails.

Amellett, hogy a Ruby on Rails, mint a fejlesztési platform, web-alapú alkalmazások, van egy másik, kevésbé ismert Ruby oldalon. Ruby - egy igen hatékony nyelv írásra scriptek, amely áll egy par Python és Perl. Ő óriási lehetőségeket nyújt beépített és külső könyvtárakat, a hatalom, amely lehet, hogy megoldja a problémákat, script - ilyen problémák felbukkannak bármilyen munkakörnyezetben.

Rendszerfelügyelet - az egyik ilyen munkakörnyezetben igénylő írni egy csomó script, hogy megkönnyítse a munka, és növeli a hatékonyságot. a felhasználók kezelése, folyamat-menedzsment, fájlkezelő, szoftvercsomag kezelése, és egyéb alapvető automatikus működés jobban kezeli a forgatókönyvet, mint a rutin manuális műveleteket. Ruby nagyon alkalmas ilyen helyzetekben. Ehhez itt van egy jó meg a könyvtárakban.

Ebben a cikkben fogom kezdeni példa mutatja, hogyan Ruby alkalmazás használható egyszerűsítése néhány alapvető rendszerfelügyelet igényeik script. Ezek a példák igazolják a lehetőséget Ruby, mint egy erős alternatívája a shell szkriptek. Természetesen ezek a példák javítható, bővítik vagy módosítják, ha szükséges. Miután a fő példa fogok bemutatni egy nagyon erős rendszerfelügyelet könyvtár Ruby nevű Cfruby. Ez a könyvtár tartalmazza a széles körű funkciók, amelyek megkönnyítik a rendszer adminisztrációs és menedzsment.

Ruby akcióban

Az első példa (1. lista). Ruby keres fájlokat, amelyek megfelelnek egy adott mintát ilyen módon, és részletes tájékoztatást nyújt a fájlok felhasználóbarát formában. A példa csak egy beépített Ruby felület, ezért a példa működni fog minden platformon fut a Ruby.

Ezen túlmenően, ez a példa azt mutatja, a hatalom a Ruby, nagyban egyszerűsíti ezeket a feladatokat. Ez nem csak egy vetélkedés a find parancsot * nix, de a felépítmény felette, bemutatva Ruby lehetőségeket.

1. listán Fájlok keresése, amelyek megfelelnek egy adott mintát a keresési útvonalat és megjeleníti azok adatait
  • vonal 5-11 - kéri a felhasználót, hogy az útvonal és a keresési mintát;
  • 16. sor - használja Ruby módszer „megtalálják” az osztály „Find” nyomon követni a megadott keresési útvonalat;
  • 17. sor - ellenőrzi, hogy a könyvtár a fájlt talált. ( „”) Ha igen, és ha ez nem rejtett, akkor végre rekurzív át;
  • 24. sor - a módszer alkalmazására „fnmatch” osztály „Fájl”, hogy ellenőrizze, hogy a megtalált fájlra meghatározott minta;
  • vonal 25-34 - kinyomtatja részletes információt a fájlt, ha a fájl egyezik a minta.

Itt egy példa a kimenő e szkript (2. listát).

Felsorolása a 2. példa első kimeneti

A szisztémás adagolás gyakran van szükség ahhoz, hogy hatékony munkát zip fájlokat kezeli mentések vagy áthelyezni egy sor fájlokat egyik gépről a másikra. Ruby kényelmes itt. A második példa alapján a föld, beleértve egy olyan forgatókönyvet, amit kell archiválni fájlok listája nyert minta megfelelő.

Beépített Zlib-modul segít kezelése gzip-fájlok és elég kényelmes a legtöbb esetben. De itt, hogy hozzon létre egy zip-archívumok és velük dolgozni, az általunk használt egyéb könnyű Ruby nevű könyvtárat „rubyzip” (akkor letölthető a linkre a „források” című részben). Megjegyzendő, hogy ez a példa Ruby «tiszta» és a minta nem függ jelenlétében meghajtó parancssori segédprogramok (3. listát).

  • letöltés gem csomag rubyzip képviseli a linkre, és másolja át a rendszer. (Abban az időben az írás volt „rubyzip-0.9.1.gem”);
  • run gem install rubyzip-0.9.1.gem
3. lista Munka archív fájlokat

A fájlokat a kereséssel megtalált alapján megadott útvonal és a sablon, a szkript létrehoz egy fájlt nevű test.zip ".

  • vonal 9-15 - azt kéri, hogy a felhasználó a keresési útvonalat és a keresési maszk;
  • 23. sorban - archívum létrehozása zip-fájl neve "test.zip.
  • 25 vezetéken - a módszer használatát a Ruby a lelet az osztály „Find” átadni a megadott keresési útvonalat;
  • vonal 26 - ellenőrzi, hogy a könyvtár a fájlt talált. ( „”) Ha igen, és ha ez nem rejtett, akkor végre rekurzív át;
  • 33. sor - a módszer alkalmazására „fnmatch” class' fájl „, hogy ellenőrizze, hogy a modell fájl található;
  • 35. sor - hozzá a megfelelő fájlsablont zip-archívum.

Itt egy példa kimenetet (lásd a 4. listát).

4. lista példa konzol kimenetet a második példa

Cfruby - fejlett rendszerfelügyelet

Amint azt a honlapján Cfruby: «Cfruby kezelését teszi lehetővé, rendszerfelügyelet a Ruby. Egyesíti a funkciók egy Ruby-könyvtárak rendszeradminisztrációért cfengine-szerű klón (sőt, egy speciális területe nyelv vagy DSL rendszerfelügyelethez). "

Cfruby egy olyan csomag, amely két részből áll:

Cfruby tölthető be Ruby gyöngyszem vagy tar formátumban. Gem módszer egyszerűbb. Töltse le és telepítse a gem "gem install" parancsot.

  • Másolja a letöltött gem-fájlt a rendszer (az írást ezt a cikket a „cfruby-1.01.gem”);
  • futni gem install cfruby-1.01.gem.

Most Cfruby alkalmazás telepítve van a rendszeren.

Elkezdjük használni Cfruby

Cfruby bizonyítani lehetőségeket, és hogyan lehet jelentősen egyszerűsíti a rendszer adminisztrációs és menedzsment.

Két fő módon lehet elérni a funkciókat, Cfruby:

  • a használata Ruby osztályok libcfgruby közvetlenül;
  • használat göngyölő cfrubyscript, amely egy egyszerű felületen libcfruby.

A Ruby osztályok közvetlenül libcfgruby

Libcfruby - ez a lényege Cfruby, egyesület modulokat biztosít a különböző funkciók, amelyek egyszerűsítik a karbantartási és a rendszer beállítását. Ahhoz, hogy használni libcfruby, meg kell adni „require_gem” cfruby 'elején a forgatókönyvet, telepítése után Cfruby gem. Ez közvetlen hozzáférést biztosít az összes alapvető modulokat libcfruby, amelyeket fel lehet használni a forgatókönyvet, amit akar. Az egyetlen hátránya ennek a módszernek, a méret libcfruby, és az összes osztályok és módszerek, amelyek található saját névtér. Ezért, annak érdekében, hogy hozzáférjen minden osztályban, meg kell megfeleltetni azt a névteret. Például libcfruby eljárást biztosít, hogy milyen típusú a rendszer. Ahhoz, hogy ez végre az alábbi lépéseket (lásd az 5. listát).

5. lista Első típusú operációs rendszerét libcfruby

Ez csak egy módja annak, hogy megtudja a nevét az operációs rendszert. Mivel a további munka libcfruby script véletlenszerűen töltött összes névterek leírás. Itt a következő eljárás alkalmas használni Cfruby.

A „csomagolóanyagok» cfrubyscript, amely egy intuitív interfész libcfruby

Felhasználásra cfrubyscript hozzá (6. lista):

Listing 6. A cfrubyscript

Ez a parancs magában cfrubyscript script, amely pontos és egyszerűbb felület eléréséhez libcfruby funkciókat.

Mi úgy érjük el cfrubyscript:

  • exportálni egy sor változót a globális névtér, mint például a $ os, $ user, $ proc és $ sched;
  • kitermelése legtöbb nagy modulok a fő névtérben - okozhat FileEdit.set helyett Cfruby :: FileEdit.set;
  • add helper módszerek String és Array, ami végre konkrét Cfruby csapat (szoftver, szerkeszti a fájlokat, és így tovább.);
  • is van egy részletes naplót.

Szóval, a nehézkes névtér leírások a script kész. A fenti példa, kiadó egy operációs rendszer típusát, mára annyira (lásd 7. listán).

Listing 7. Ismerkedés az OS típusát a cfrubyscript

Egészen egyszerűen lefordítva egy hívást egy globális változó $ os. Cfruby - nagyon erős alkalmazás, amely sokféle funkciót kezelni * nix-szerű rendszerek.

Nézzünk néhány közülük, és néhány egyszerű példát.

a felhasználók kezelése

Az egyik leggyakoribb és legfontosabb feladat minden adminisztrációs rendszerek kezelése a felhasználók és csoportok. Cfruby egy sor erőteljes módszereket a fenti feladatok elvégzéséhez egy kompakt és egyszerű módon.

Ezt a célt úgy érjük el, alkalmazásával UserManager nyerhető az operációs rendszer modul, amint azt a 8. példában.

Listing 8. előállítás UserManager objektumot libcfruby

Ha minden kész a stílus cfrubyscript, akkor mi lesz, hogy részt vegyen a globális felhasználói kezelő létesítmény kapható $ user, amely közvetlenül használható metódusokat. Követni fogom ezt a módszert, mint a legegyszerűbb és tiszta olvasni.

Itt van, hogyan kell használni, hogy hozzon létre és törölhet egy felhasználó (lásd lista 9).

Listing 9. kezelése használó felhasználók cfrubyscript

Mi történik ebben a példában:

  • 1. sor, 2 - a szokásos módon, és tartalmazza libcfruby cfrubyscript a forgatókönyvet;
  • 3. sor - Hozzon létre egy új felhasználót a megadott néven a „newusername”, és a megadott jelszót a második érv;
  • 4. sor - eltávolítja a felhasználót a felhasználói név szerepel az „newusername”. A második érv lehet igaz vagy hamis, azt jelzi, hogy el kell távolítani a felhasználó saját könyvtárat kell távolítani.

Hasonlóképpen, az A csoport lehetséges műveleteket addgroup () és deletegroup () az objektum UserManager.

folyamatmenedzsment

Egy másik fontos feladata a rendszergazda - Monitoring futó folyamatok és azok kezelése. Cfruby akkor is hasznos lehet itt, ami lehetővé teszi a hatékony folyamatok nyomon követésére.

Itt van, hogy ezt a problémát úgy oldja meg Cfruby (Listing 10).

Listing 10. Process Management használatával cfgrubyscript

Mi történik ebben a példában:

  • 3. sor - használata a globális objektum $ proc befejezése érdekében a folyamat „vim”, amely argumentumként. $ Proc.vim - egy objektum típusú ProcessInfo folyamat „vim” indított a rendszerben. Cfrubyscript létrehozza azokat automatikusan;
  • 4. sor - elkezd egy új eljárás egy speciális parancs „ps-AKG”. fut módszer neve közvetlenül a parancssorból.

csomagkezelő

Management szoftver a rendszer - egy nagyobb kihívást jelent, hogy kell adnia a rendszergazda. Cfruby eljárásokat biztosít könnyű telepítését és eltávolítását szoftvert a rendszer (lásd Listing 11).

Listing 11. Programirányítás keresztül cfrubyscript
  • 3 sor - használata a globális objektum $ pkg PackageManager létrehozott cfrubyscript és fogadását minden csomagot jelen a rendszerben, hívja csomagok () metódus;
  • 4. sor - egy listát az összes telepített csomag;
  • 5. sor - állítja a Ruby csomagban hívja telepíteni. Az a lehetőség, közvetlen hívó kiegészítő telepítési módszer közvetlenül a csomag nevét.

Ez az a szint, amelyre minden leegyszerűsödik.

fájlkezelés

Cfruby is segít a fájlok kezelése. Létrehozása, szerkesztése, törlése, tulajdonos hozzárendelése, a változás hozzáférést, és még sok mást tennie, csak módszereivel Cfruby (Listing 12).

Listing 12. fájlkezelés cfrubyscript
  • 3. sor - változtassa meg a tulajdonos, a csoport és jogosultságokat a fájlt „/ etc / ssh” Közvetlen hívás chown_mod () metódus közvetlenül fájlból. Ez megint tette lehetővé a támogatási tárgyak és módszerek cfrubyscript. Figyeljük meg, hogy minden úgy van, csak egy sort.

Így a fenti példák kellett mutatni, milyen erős ez Cfruby és hogy mennyire könnyű adminisztrálni és kezelni a rendszer egyszerű és hatékony módon. Ezen kívül az alkalmazás nem a rendszer összes adminisztrációs feladatok egyszerűbb és könnyebb az intuitív sor osztályok és módszerek, hiszen ez biztosítja.

következtetés

Ruby - ez nem csak a fejlesztési web-alapú alkalmazás, amely a Rails. Azt is fel lehet használni, mint egy erős programozási nyelv és egy nagyon hatékony alternatívája lehet a szokásos írásban szkriptek a héj, a legtöbb esetben használt írni rendszerfelügyelet szkripteket.

A saját, beépített modulok és számos külső könyvtárakat, Ruby teheti rendszerek hatékonyabbá és minden bizonnyal könnyebb. Ruby - ez egy nagyon hasznos és hatékony eszköz, hogy meg kell állítani az egyes rendszergazda.

Letölthető Resources

Kapcsolódó témák

  • Eredeti cikk: Ruby rendszergazdáknak (EN)
  • Ruby programozási nyelv. hivatalos oldal Ruby (EN)
  • Programozás Ruby. A pragmatikus programozó útmutató. Egy jó vezető tanulási programozni Ruby. (EN)
  • Ruby. Töltse le a legújabb verzióját Ruby (EN)
  • Cfruby. letöltés rendszerfelügyelet könyvtár Ruby. (EN)
  • RubyZip. terhelés könyvtár feldolgozó zip-archívumok Ruby. (EN)

Kapcsolódó cikkek