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?
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.
* Tā kā ir ļoti iespējams, ka aparatūras RAID kontrolieris bloķē sistēmas piekļuvi šai informācijai.
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:
* 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.
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 :)