Hard Drive Monitor Script for Headless Linux Servers

Jan 25, 2025
Vedlikehold og optimalisering

Moderne harddisker har en intern mekanisme kalt S.M.A.R.T. som det er mulig å vite når en harddisk er i ferd med å mislykkes. Ville det ikke vært hyggelig av serveren å sende deg en e-post før en slik feil?

Oversikt

Programmer som "mdadm" (for programvare-RAID-styring) og "Palimpsest Disk Utility" (brukt på Ubuntu LiveCD), bruker informasjonen S.M.A.R.T for å informere deg om når disken er i ferd med å mislykkes. Men på en hodeløs server (ingen GUI) er det ingen tjenester som vil informere deg om den ventende dommen før det er for sent. Dessuten, hvordan ville du vite om det uten manuelt å logge på serveren?

Dette skriptet, når det kjøres en gang om dagen med cron, vil varsle om noen av systemets telleverdier for harddisker har nådd en grense som bevisst er lavere enn "disken er dårlig" terskel, og sende advarselen til maskinens administrator.

Forutsetninger og antakelser

  • Du har allerede konfigurert e-poststøtte for serveren ved hjelp av " Slik konfigurerer du e-postvarsler på Linux " guide.
  • Du bruker et Debian-basert system.
  • Du bruker ikke * hardware RAID-kontroller.
  • Du vil se meg bruke VIM som redigeringsprogram, dette er bare fordi jeg er vant til det ... du kan bruke hvilken som helst annen redaktør du vil ha.

* Fordi det er veldig mulig at hardware RAID-kontrolleren blokkerer systemets tilgang til denne informasjonen.

Oppsett

Installer "smartmontools" -pakken som leser S.M.A.R.T-informasjonen fra harddiskkontrolleren og presenterer den for oss.

sudo aptitude installer smartmontools

Opprett skjermskriptet:

sudo vim /root/smart-monitor.sh

Gjør dette til innhold:

#! / Bin / Bash
######## E-postfunksjon ########
email_admin_func ()
{
ekko "To: [email protected]"> $ temp_email_file
ekko "Fra: [email protected]" >> $ temp_email_file
ekko "Subject: S.M.A.R.T monitor monitor Threshold breached" >> $ temp_email_file
ekko "" >> $ temp_email_file
ekko -e $ 1 >> $ temp_email_file
/ usr / sbin / ssmtp -t <$ temp_email_file
ekko "Sendte en e-post til administratoren"
}

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

######## Slutten av funksjoner ########

######### Still inn arbeidsparameter ########
temp_email_file = / tmp / smart_monitor.txt
allow_threshold = 5 # angi mengden dårlige sektorer du er villig til å leve med, anbefalt 5.

########Motor########
for jeg i sda sdb; gjør # Legg til eller trekk disknavn fra denne listen etter behov.
hvis [[ "`smartc_func $i`" -ge $allowed_threshold ]]; deretter
ekko E-post til administratoren
email_admin_func "En av HD-ene på" vertsnavn "" har nådd den øvre terskelgrensen !!! nTerskelen ble satt til: $ allow_threshold og $ i diskstatus var: "" smartc_func $ i "" "
være
ferdig

Viktige punkter å merke seg er:

  • E-postfunksjon - Angi riktig informasjon som maskinens navn og administratorens e-post.
  • Tillatt terskel - Sett denne parameteren til det du synes er passende, jeg har brukt 5 fordi grensen som er satt for “server grade” harddiskene jeg brukte var 10. (jeg har funnet terskelen for “forbruker grade” -stasjoner til være så høyt som 140).
  • Still inn enhetene du vil overvåke ved å justere opptellingen av disknavn i "for" -sløyfen. For tiden er to disker (sda & sdb) inkludert, så juster for oppsettet ditt. Du kan inkludere alle diskene dine eller bare noen, hvis du trenger å * ekskludere en disk av en eller annen grunn.

* i mitt opprinnelige oppsett var den første disken en flash-stasjon, så det er ikke til stor nytte å lese informasjonen hvis mulig.

Gjør skriptet kjørbart:

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

Oppsettet er gjort.

Planlegg at skriptet skal kjøres automatisk

Vi ønsker å få skriptet til å kjøre automatisk, så vi oppretter en ny Cron-jobb for det.
Som det fremgår av “ Slik konfigurerer du e-postvarsler på Linux ”Guide resultatet av å gjøre det, er at hvis selve skriptet støter på en feil, vil cron automatisk informere oss via e-post så snart det skjer.

Åpne cron-jobbplanleggeren:

sudo crontab -e

Legg dette til innholdet:

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

Dette vil sette skriptet til å kjøres hver morgen klokka 07.00.


Hele sektoren din tilhører oss :)

Raspberry Pi Box Hard Drive Scripts


Vedlikehold og optimalisering - Mest populære artikler

Avinstallering av skrifter vil sannsynligvis ikke øke hastigheten på PCen eller Mac-en

Vedlikehold og optimalisering Sep 30, 2025

UCACHED INNHOLD Du har sett det på mange PC-hjelpesider. "Avinstaller skrifter for å øke hastigheten på datamaskinen din!" Ikke følg disse rådene– det er en myte ..


Bør du bruke Windows 'fullstendige komprimering for å spare plass?

Vedlikehold og optimalisering Jul 10, 2025

Åpne egenskapsvinduet til en stasjon, og du vil se et alternativ for å "komprimere denne stasjonen for å spare diskplass" på Windows. Men hvor mye diskplass vil du spare, og hva..


Hva er Samsungs spillstarter, og bør du bruke det?

Vedlikehold og optimalisering Jul 12, 2025

Det har vært en lang dag, og du har litt tid til å drepe, så du tar tak i Samsung Galaxy S7 og skyter opp favorittspillet ditt. Du er klar til å knuse nivået du har sittet fast..


Slik aktiverer du automatiske sikkerhetsoppdateringer på Ubuntu Server

Vedlikehold og optimalisering May 20, 2025

UCACHED INNHOLD Det er ingenting mer kjedelig som systemadministrator enn å kjøre sikkerhetsoppdateringer på et dusin servere hver eneste dag. Heldigvis lar Ubuntu deg automati..


Reduser bokmerker i Chrome til verktøylinjeikoner

Vedlikehold og optimalisering May 20, 2025

UCACHED INNHOLD Ønsker du å utnytte plassen mest effektivt i Chrome's Bookmarks Toolbar? Nå kan du redusere bokmerkene til ikoner med bare noen få minutters arbeid. Merk: ..


Lukk alle dine åpne apper på et øyeblikk

Vedlikehold og optimalisering Feb 3, 2025

UCACHED INNHOLD Du har gjort et seriøst arbeid på datamaskinen din og har en rekke apper, nettlesere, regneark og dokumenter åpne. Du er ferdig for dagen, men å lukke hver app og hvert ..


XP: Aktiver eller deaktiver dvalemodus

Vedlikehold og optimalisering Oct 31, 2025

Skal jeg slå av datamaskinen hver natt? Er det bedre å ha dvalemodus? Burde jeg ha satt den i standby? Hva er det beste alternativet for datamaskinen min? Jeg får disse spørsmålene hele ..


Indekser PDF-dokumentene dine med Foxit IFilter for Vista

Vedlikehold og optimalisering Sep 26, 2025

UCACHED INNHOLD Geeks overalt har omfavnet de lette og gratis Foxit PDF-leser i stedet for å bruke Adobe Reader, men skjønte du at du kan indeksere PDF-filer uten Adobe ins..


Kategorier