If-Koubou

Cietā diska monitora skripts Bezvadu Linux serveriem

Cietā diska monitora skripts Bezvadu Linux serveriem (Kā)

Mūsdienu cietajiem diskiem ir iekšējais mehānisms, ko sauc par S.M.A.R.T. caur kuru ir iespējams uzzināt, kad cietais disks gatavojas izgāzties. Vai tas nebūtu jauki no servera, lai e-pastu jums pirms šādas neveiksmes?

Pārskats

Programmas, piemēram, "mdadm" (programmatūras RAID pārvaldībai) un "Palimpsest Disk Utility" (lieto Ubuntu LiveCD), izmanto informāciju S.M.A.R.T, lai informētu jūs, kad disks ir par vai nav bijis. Tomēr bezgalīgi serverī (bez GUI) nav pakalpojumu, kas informēs jūs par neizlemto nožēlu, pirms nav par vēlu. Turklāt, kā jūs par to zinātu, manuāli neiesakoties serverī?

Šis skripts, kad tas tiek izpildīts vienu reizi dienā ar cron, brīdinās, vai kāds no sistēmas cietie diski slikto sektoru skaita ir sasniedzis ierobežojumu, kas ir apzināti zemāks, tad "disks ir slikts" slieksnis, un e-pastu brīdinājumu mašīnas administratoram.

Priekšnoteikumi un pieņēmumi

  • Jūs jau esat iestatījis e-pasta atbalstu serverim, izmantojot ceļvedi "Kā iestatīt e-pasta brīdinājumus uz Linux".
  • Jūs izmantojat Debian balstītu sistēmu.
  • Jūs neizmantojat * aparatūras RAID kontrolieri.
  • Jūs redzēsit mani izmantot VIM kā redaktoru programmu, tas ir tikai tāpēc, ka esmu pieradis pie tā ... jūs varat izmantot jebkuru citu redaktoru, kuru vēlaties.

* Tā kā ir ļoti iespējams, ka aparatūras RAID kontrolieris bloķē sistēmas piekļuvi šai informācijai.

Uzstādīt

Instalējiet "smartmontools" pakotni, kas no cietā diska kontrollera izlasa informāciju S.M.A.R.T un iesniedz to mums.

sudo aptitude instalēt smartmontools

Izveidojiet monitora skriptu:

sudo vim /root/smart-monitor.sh

Padarīt šo saturu:

#! / bin / bash
######## E-pasta funkcija ########
email_admin_func ()

echo "Līdz: [email protected]"> $ temp_email_file
echo "No: [email protected]" >> $ temp_email_file
echo "Subject: S.M.A.R.T monitora slieksnis pārtraukts" >> $ temp_email_file
echo "" >> $ temp_email_file
echo -e $ 1 >> $ temp_email_file
/ usr / sbin / ssmtp -t <$ temp_email_file
echo "Nosūtīja e-pastu administratoram"

smartc_func ()

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

######## Funkciju beigas ########

######## Iestatiet darba parametru ########
temp_email_file = / tmp / smart_monitor.txt
allowed_threshold = 5 # iestatīt slikto sektoru summu, ar kuru vēlaties dzīvot, ieteicams 5.

######## Dzinējs ########
par i sda sdb; do # Pievienojiet vai atņemiet disku nosaukumus no šī saraksta atbilstoši jūsu iestatījumiem.
ja [['' smartc_func $ i '' -ge $ allowed_threshold]]; tad
echo E-pasts administratoram
email_admin_func "Viens no" hostname "HDs ir sasniedzis augšējo slieksni !!! nReiksme bija: $ allowed_threshold un $ i diska statuss:" smartc_func $ i "
fi
pabeigts

Galvenie punkti ir šādi:

  • E-pasta funkcija - iestatiet atbilstošu informāciju, piemēram, mašīnas nosaukumu un administratora e-pastu.
  • Atļautā sliekšņa - iestatīt šo parametru uz to, kas jums šķiet piemērots, esmu izmantojis 5, jo ierobežotais "servera kategorijas" cieto disku skaits, ko izmantoja, bija 10. (I'v atrada slieksni "patērētāju kategorijas" diskdziņiem būt tikpat augsti kā 140).
  • Iestatiet ierīces, kuras vēlaties kontrolēt, pielāgojot diska nosaukumu skaitīšanu ciklā "for". Pašlaik ir iekļauti divi diski (sda & sdb), tāpēc pielāgojiet iestatījumus. Jūs varat iekļaut visus savus diskus vai tikai dažus, ja jums ir nepieciešams * izslēgt disku kāda iemesla dēļ.

* manā oriģinālajā iestatījumā pirmais disks bija zibatmiņas disks, tādēļ nolasot tā informāciju, ja tas ir iespējams, nav daudz lietojuma.

Padariet skriptu izpildāmu:

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

Iestatīšana ir pabeigta.

Plānojiet skriptu, kas jāiedarbina automātiski

Mēs vēlamies, lai skripts palaistu automātiski, tāpēc mēs izveidosim jaunu Cron darbu.
Kā norādīts sadaļā "Kā iestatīt e-pasta brīdinājumus operētājsistēmā Linux", tiek parādīts, ka, ja pats skripts saskata kļūdu, cron automātiski informēs mūs pa e-pastu, tiklīdz tas notiks.

Atveriet cron darba plānotāju:

sudo crontab-e

Pievienot tai savam saturam:

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

Tas noteiks skriptu, kuru izpildīt katru rītu plkst. 7:00.

Viss jūsu nozare pieder mums :)