Moderni tvrdi diskovi imaju unutarnji mehanizam nazvan S.M.A.R.T. kroz koje je moguće znati kada tvrdi disk će propasti. Ne bi li bilo lijepo od poslužitelja poslati e-poštu prije takvog neuspjeha?
Programi poput "mdadm" (za upravljanje softverom RAID) i "Palimpsest Disk Utility" (korišteni na Ubuntu LiveCD-u), koriste informacije S.M.A.R.T kako bi vas obavijestili kada je disk sprema ili nije uspio. Međutim, na poslužitelju bez glave (bez grafičkog sučelja) ne postoji servis koji će vas obavijestiti o čekanju dok je prekasno. Štoviše, kako biste to znali bez ručnog prijavljivanja na poslužitelj?
Ova skripta, kada se pokreće jednom dnevno s cronom, upozorit će se ako je neki od loših sektora hard diskova sustava dosegnuo granicu koja je namjerno niža od praga "disk je loš" i pošalje upozorenje administratoru stroja.
* Budući da je vrlo moguće da hardverski RAID kontroler blokira pristup sustavu ovim informacijama.
Instalirajte paket "smartmontools" koji čita podatke S.M.A.R.T s kontrolera tvrdog diska i prikazuje nam ga.
sudo aptitude instalirajte smartmontools
Stvorite skriptu monitora:
sudo vim /root/smart-monitor.sh
Učinite to sadržajem:
#! / Bin / bash
######## E-mail funkcija ########
email_admin_func ()
echo "Za: [email protected]"> $ temp_email_file
echo "Od: [email protected]" >> $ temp_email_file
echo "Predmet: S.M.A.R.T monitor Prag prekršio" >> $ temp_email_file
echo "" >> $ temp_email_file
echo -e $ 1 >> $ temp_email_file
/ usr / sbin / ssmtp -t <$ temp_email_file
echo "Poslao je e-mail administratoru"
smartc_func ()
/ usr / sbin / smartctl -A / dev / $ 1 | grep Reallocated_Sector_Ct | tr -s "| cut-d" -f11
######## Kraj funkcija ########
######## Postavite radni parametar ########
temp_email_file = / TMP / smart_monitor.txt
allowed_threshold = 5 #set količina loših sektora s kojima ste spremni živjeti, preporučeno 5.
########Motor########
za i u sda sdb; # Dodajte ili oduzmite nazive diska s tog popisa kao što je prikladno za postavljanje.
ako [["'smartc_func $ i'" -ge $ allowed_threshold]]; zatim
Pošalji e-poštu administratoru
email_admin_func "Jedan od HD na" "nazivu hosta" dosegnuo je gornju graničnu vrijednost! nPrag je bio postavljen na: $ allowed_threshold i status $ i disk je bio: "'smartc_func $ i'" "
fi
učinio
Ključne točke koje treba imati na umu jesu:
* u mojem izvornom postavu prvi disk bio je bljesak voziti tako da čitajući svoje podatke ako je to sve moguće nije puno koristi.
Napravite izvršnu skriptu:
sudo chmod + x /root/smart-monitor.sh
Postava je gotova.
Želimo napraviti skriptu pokrenuti automatski tako da ćemo stvoriti novi Cron posao za to.
Kao što je navedeno u "Kako postaviti upozorenja e-pošte na Linuxu", upućivanje na to je da ako skripta sama dođe do pogreške, cron će nas automatski obavijestiti putem e-pošte čim se to dogodi.
Otvorite vremenski planer za posao:
sudo crontab-e
Dodajte to svom sadržaju:
0 7 * * * /root/smart-monitor.sh> /tmp/last_smart_monitor_run.log
Ovo će postaviti skriptu da bude pokrenuto svakog jutra u 7:00.
Svi vaši sektori pripadaju nama :)