Homepage » hogyan kell » Merevlemez-monitor Script fej nélküli Linux-kiszolgálókhoz

    Merevlemez-monitor Script fej nélküli Linux-kiszolgálókhoz

    A modern merevlemezek belső mechanizmusa S.M.A.R.T. amelyen keresztül tudni lehet, hogy mikor fog merülni a merevlemez. Nem lenne jó a szerver számára, hogy e-mailben küldje el e hiba előtt?

    Áttekintés

    Olyan programok, mint az „mdadm” (a szoftver RAID kezelése) és a „Palimpsest Disk Utility” (használják az Ubuntu LiveCD-n) az S.M.A.R.T információval tájékoztatják Önt, ha a lemez hamarosan meghibásodik vagy nem sikerült. Azonban egy fejetlen szerveren (nincs GUI) nincs olyan szolgáltatás, amely tájékoztatná Önt a függőben lévő ítéletről, mielőtt túl késő lenne. Továbbá, hogyan tudná róla, anélkül, hogy manuálisan jelentkezne be a szerverbe?

    Ez a szkript, amikor naponta egyszer futtatjuk a cron-t, figyelmeztet, ha a rendszer merevlemezei rossz szektorok száma eléri a határértéket, amely szándékosan alacsonyabb, mint a „lemez rossz” küszöbérték, és küldje el a figyelmeztetést a gép adminisztrátorának.

    Előfeltételek és feltételezések

    • Már beállította az e-mail támogatását a kiszolgálónak az „E-mail figyelmeztetések telepítése Linuxon” útmutató segítségével.
    • Debian alapú rendszert használ.
    • Nem használ * hardveres RAID vezérlőt.
    • Látni fogod, hogy a VIM-et használom szerkesztőprogramként, ez csak azért van, mert megszoktam… használhatsz bármilyen más szerkesztőt, amit szeretnél.

    * Mivel nagyon lehetséges, hogy a hardveres RAID-vezérlő blokkolja a rendszer hozzáférését ehhez az információhoz.

    Beállít

    Telepítse az „smartmontools” csomagot, amely a merevlemez-vezérlőtől olvasja az S.M.A.R.T információt és bemutatja azt.

    a sudo aptitude telepíti az okostelefonokat

    Készítse el a monitor scriptjét:

    sudo vim /root/smart-monitor.sh

    Tegye ezt tartalmának:

    #! / Bin / bash
    ######## E-mail funkció ########
    email_admin_func ()

    echo "To: [email protected]"> $ temp_email_file
    echo "From: [email protected]" >> $ temp_email_file
    echo "Tárgy: S.M.A.R.T monitor küszöb megsértése" >> $ temp_email_file
    echo "" >> $ temp_email_file
    echo -e $ 1 >> $ temp_email_file
    / usr / sbin / ssmtp -t < $temp_email_file
    visszhang "E-mail küldése az adminisztrátornak"

    smartc_func ()

    / usr / sbin / smartctl -A / dev / $ 1 | grep Reallocated_Sector_Ct | tr -s "| cut -d" -f11

    ######## Funkciók vége ########

    ######## Működési paraméter beállítása ########
    temp_email_file = / tmp / smart_monitor.txt
    allow_threshold = 5 # a rossz szektorok összegét adja meg, amellyel hajlandó élni, ajánlott 5.

    ########Motor########
    i esetén sda sdb-ben; do # Adja hozzá vagy vonja le a lemez nevét a listából a beállításainak megfelelően.
    ha [["'smartc_func $ i'" -ge $ allow_threshold]]; azután
    echo E-mail küldése a rendszergazdának
    email_admin_func "A" hosztnév "egyik HD-je elérte a felső küszöbértéket! nA küszöbértéket a következőre állította: $ allow_threshold és a $ i lemezállapot:" "smartc_func $ i '" "
    fi
    Kész

    A legfontosabb szempontok:

    • E-mail funkció - Állítsa be a megfelelő információkat, például a gép nevét és az adminisztrátori e-mailt.
    • Engedélyezett küszöbérték - Állítsa be ezt a paramétert arra az esetre, amit megfelelőnek tartottam, 5-et használtam, mert a „szerver minőségű” merevlemezekre beállított határérték 10 volt. (Megtaláltam a „fogyasztói minőségű” meghajtók küszöbét akár 140).
    • Állítsa be a monitorozni kívánt eszközöket a lemeznevek felsorolásának beállításával az „for” hurokba. Jelenleg két lemez (sda & sdb) szerepel, így állítsa be a beállítást. Lehet, hogy az összes lemezt vagy csak néhányat tartalmaz, ha valamilyen okból ki kell zárnia a lemezt.

    * az eredeti beállításomban az első lemez flash meghajtó volt, így az információ olvasása, ha egyáltalán nem lehetséges, nem sok hasznos.

    A parancsfájl végrehajtható:

    sudo chmod + x /root/smart-monitor.sh

    A beállítás megtörtént.

    Ütemezze be a futtatni kívánt parancsfájlt

    Azt szeretnénk, hogy a parancsfájl automatikusan fusson, így létrehozunk egy új Cron munkát.
    Amint azt az „E-mail figyelmeztetések telepítése Linuxon” című útmutató ismerteti, az, hogy ha a szkript hibát észlel, a cron automatikusan értesíti minket e-mailben, amint ez megtörténik.

    Nyissa meg a cron jobütemezőt:

    sudo crontab -e

    Adja hozzá a tartalmát:

    0 7 * * * /root/smart-monitor.sh> /tmp/last_smart_monitor_run.log

    Ezzel a szkript minden reggel 7 órakor fog futni.


    Minden szektorod hozzánk tartozik :)