Skrypt monitora dysku twardego dla bezgłowych serwerów Linux

Jan 25, 2025
Konserwacja i optymalizacja

Nowoczesne dyski twarde mają wewnętrzny mechanizm o nazwie S.M.A.R.T. dzięki któremu można dowiedzieć się, kiedy dysk twardy ulegnie awarii. Czy nie byłoby miło, gdyby serwer wysłał Ci e-maila przed taką awarią?

Przegląd

Programy takie jak „mdadm” (do programowego zarządzania macierzą RAID) i „Palimpsest Disk Utility” (używane na Ubuntu LiveCD) wykorzystują informacje S.M.A.R.T, aby poinformować Cię, kiedy dysk jest bliski awarii lub gdy uległ awarii. Jednak na serwerze bezgłowym (bez GUI) nie ma usługi, która poinformuje Cię o nadchodzącej zagładzie, zanim będzie za późno. Co więcej, skąd byś o tym wiedział bez ręcznego logowania na serwer?

Ten skrypt, uruchamiany raz dziennie z cronem, będzie ostrzegał, jeśli liczba uszkodzonych sektorów na dysku twardym w systemie osiągnęła limit, który jest celowo niższy niż próg „dysk jest uszkodzony”, i wyśle ​​e-mailem ostrzeżenie do administratora komputera.

Wymagania wstępne i założenia

  • Masz już skonfigurowaną obsługę poczty e-mail dla serwera przy użyciu opcji „ Jak skonfigurować alerty e-mail w systemie Linux " przewodnik.
  • Używasz systemu opartego na Debianie.
  • Nie używasz * sprzętowego kontrolera RAID.
  • Zobaczysz, jak używam VIM jako programu do edycji, tylko dlatego, że jestem do tego przyzwyczajony… możesz użyć dowolnego innego edytora, który ci się podoba.

* Ponieważ jest bardzo możliwe, że sprzętowy kontroler RAID blokuje dostęp systemu do tych informacji.

Ustawiać

Zainstaluj pakiet „smartmontools”, który odczytuje informacje S.M.A.R.T z kontrolera dysku twardego i przedstawia je nam.

sudo aptitude zainstaluj smartmontools

Utwórz skrypt monitora:

sudo vim /root/smart-monitor.sh

Niech to będzie treść:

#! / Bin / Bash
######## Funkcja e-mail ########
email_admin_func ()
{
echo "To: [email protected]"> $ temp_email_file
echo "Od: [email protected]" >> $ plik_poczta_temp_email
echo "Temat: Monitor S.M.A.R.T. Naruszono próg" >> $ temp_email_file
echo "" >> $ temp_email_file
echo -e $ 1 >> $ temp_email_file
/ usr / sbin / ssmtp -t <$ temp_email_file
echo „Wysłano wiadomość e-mail do administratora”
}

smartc_func ()
{
/ usr / sbin / smartctl -A / dev / $ 1 | grep Reallocated_Sector_Ct | tr -s '' | cut -d '' -f11
}

######## Koniec funkcji ########

######## Ustaw parametr roboczy ########
temp_email_file = / tmp / smart_monitor.txt
allowed_threshold = 5 # ustaw ilość uszkodzonych sektorów, z którymi chcesz żyć, zalecane 5.

########Silnik########
dla i w sda sdb; do # Dodaj lub odejmij nazwy dysków z tej listy, stosownie do konfiguracji.
jeśli [[ "`smartc_func $i`" -ge $allowed_threshold ]]; następnie
echo Wysyłanie wiadomości e-mail do administratora
email_admin_func "Jeden z dysków twardych na" `hostname`" osiągnął górny próg !!! n Próg został ustawiony na: $ allowed_threshold, a stan dysku $ i to: "` smartc_func $ i` ""
być
gotowy

Najważniejsze punkty, na które należy zwrócić uwagę, to:

  • Funkcja e-mail - ustaw odpowiednie informacje, takie jak nazwa urządzenia i adres e-mail administratora.
  • Dozwolony próg - Ustaw ten parametr na taki, który uważasz za odpowiedni. Użyłem 5, ponieważ limit ustawiony dla dysków twardych „serwerowej”, których użyłem, wynosił 10. (znalazłem próg dla dysków „konsumenckich” być aż 140).
  • Ustaw urządzenia, które chcesz monitorować, dostosowując wyliczanie nazw dysków w pętli „for”. Obecnie dostępne są dwa dyski (sda i sdb), więc dostosuj swoją konfigurację. Możesz dołączyć wszystkie swoje dyski lub tylko niektóre, jeśli z jakiegoś powodu musisz * wykluczyć dysk.

* w mojej pierwotnej konfiguracji pierwszym dyskiem był pendrive, więc czytanie jego informacji, jeśli to w ogóle możliwe, nie jest zbyt przydatne.

Spraw, aby skrypt był wykonywalny:

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

Konfiguracja jest zakończona.

Zaplanuj automatyczne uruchamianie skryptu

Chcemy, aby skrypt działał automatycznie, więc utworzymy dla niego nowe zadanie Cron.
Jak stwierdzono w „ Jak skonfigurować alerty e-mail w systemie Linux ”Prowadzi do tego, że jeśli sam skrypt napotka błąd, cron automatycznie poinformuje nas o tym e-mailem, gdy tylko to nastąpi.

Otwórz program do planowania zadań cron:

sudo crontab -e

Dodaj to do jego zawartości:

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

Spowoduje to uruchomienie skryptu każdego ranka o godzinie 7:00.


Cały Twój sektor należy do nas :)

Raspberry Pi Box Hard Drive Scripts


Konserwacja i optymalizacja - Najpopularniejsze artykuły

Kompletny przewodnik po przyspieszaniu pracy maszyn wirtualnych

Konserwacja i optymalizacja Jul 5, 2025

Maszyny wirtualne to wymagające bestie, zapewniające wirtualny sprzęt i uruchamiające jednocześnie wiele systemów operacyjnych na komputerze. W rezultacie czasami mogą być t..


Jak sprawić, by przesyłane strumieniowo wideo przestało się tak bardzo buforować

Konserwacja i optymalizacja Jul 10, 2025

„Buforowanie… buforowanie… buforowanie…” To irytujące, zwłaszcza jeśli tak jest przeciąć sznur i objął streaming wideo. Jeśli masz do czynienia z j�..


14 sposobów dostosowania paska zadań w systemie Windows 10

Konserwacja i optymalizacja Apr 29, 2025

Pasek zadań systemu Windows 10 działa podobnie jak poprzednie wersje systemu Windows, oferując skróty i ikony dla każdej uruchomionej aplikacji. Windows 10 oferuje różne spos..


Jak korzystać z nowego podzielonego widoku okien w systemie OS X

Konserwacja i optymalizacja Oct 21, 2025

Mac OS X 10.11, El Capitan wprowadza całą masę nowych funkcji, z których najważniejszą jest zarządzanie oknami z podzielonym widokiem. Tak, zgadza się, OS X w końcu daje mo..


Jak zautomatyzować przepływ pracy w Adobe Photoshop

Konserwacja i optymalizacja Jul 8, 2025

TREŚĆ NIENARUSZONA Adobe Photoshop to nie tylko potężne, praktyczne narzędzie do edycji obrazów, ale także bardzo potężne ręce przy sobie narzędzie do ed..


Jak zaplanować czyszczenie dysku w systemie Windows 7 i Vista

Konserwacja i optymalizacja Feb 15, 2025

Zawsze dobrze jest uruchamiać regularne zadania konserwacyjne, takie jak Oczyszczanie dysku, na komputerze z systemem Windows, aby zapewnić jego płynne działanie. Dzisiaj przyjrzymy się,..


Uzyskaj pasek boczny paneli w stylu Opery w przeglądarce Firefox

Konserwacja i optymalizacja Nov 13, 2024

TREŚĆ NIENARUSZONA Czy podoba Ci się pasek boczny paneli w Operze i chcesz mieć tę samą funkcjonalność również w przeglądarce Firefox? Teraz możesz dzięki rozszerzeniu All-in-O..


Jak ponownie włączyć komunikat ostrzegawczy about: config w przeglądarce Firefox 3

Konserwacja i optymalizacja May 28, 2025

TREŚĆ NIENARUSZONA Jeśli poświęciłeś trochę czasu na ulepszanie Firefoksa 3, prawdopodobnie zobaczyłeś komunikat ostrzegawczy informujący, że prawdopodobnie nie powinieneś zmie..


Kategorie