Сценарій монітора жорсткого диска для безголових серверів Linux

Jan 25, 2025
Технічне обслуговування та оптимізація

Сучасні жорсткі диски мають внутрішній механізм, який називається S.M.A.R.T. за допомогою яких можна дізнатися, коли жорсткий диск ось-ось вийде з ладу. Чи не було б приємно серверу надіслати вам електронного листа до такої невдачі?

Огляд

Такі програми, як “mdadm” (для управління RAID програмним забезпеченням) та “Palimpsest Disk Utility” (використовується на Ubuntu LiveCD), використовують інформацію S.M.A.R.T, щоб повідомити вас, коли диск збирається або вийшов з ладу. Однак на безголовому сервері (без графічного інтерфейсу користувача) немає служби, яка повідомлятиме вас про очікувану загибель, поки не стане занадто пізно. Більше того, як би ви про це знали, не входячи на сервер вручну?

Цей сценарій під час запуску один раз на день за допомогою cron повідомляє про те, що будь-який із підрахунків пошкоджених секторів жорстких дисків системи досягнув межі, яка навмисно нижча за поріг "диск поганий", та надсилає попередження адміністратору машини.

Передумови та припущення

  • Ви вже налаштували підтримку сервера електронною поштою, використовуючи “ Як налаштувати сповіщення електронною поштою на Linux ”Путівник.
  • Ви використовуєте систему на основі Debian.
  • Ви не використовуєте * апаратний RAID-контролер.
  • Ви побачите, як я використовую VIM як програму редактора, це просто тому, що я звик до цього ... Ви можете використовувати будь-який інший редактор, який вам заманеться.

* Оскільки дуже можливо, що апаратний RAID-контролер блокує доступ системи до цієї інформації.

Налаштування

Встановіть пакет “smartmontools”, який зчитує інформацію S.M.A.R.T із контролера жорсткого диска та представляє її нам.

sudo aptitude встановити smartmontools - -

Створіть сценарій монітора:

sudo vim /root/smart-monitor.sh

Зробіть це своїм вмістом:

#! / Bin / Bash
######## Функція електронної пошти ########
email_admin_func ()
{
echo "To: [email protected]"> $ temp_email_file
echo "From: [email protected]" >> $ temp_email_file
echo "Тема: Монітор S.M.A.R.T порушений поріг" >> $ temp_email_file
echo "" >> $ temp_email_file
echo -e $ 1 >> $ temp_email_file
/ usr / sbin / ssmtp -t <$ temp_email_file
echo "Надіслано електронний лист адміністратору"
}

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

######## Кінець функцій ########

######## Встановити робочий параметр ########
temp_email_file = / tmp / smart_monitor.txt
дозволений_поріг = 5 # встановити кількість поганих секторів, з якими ви бажаєте жити, рекомендовано 5.

######## Двигун ########
для i в sda sdb; do # Додайте або відніміть імена дисків із цього списку відповідно до налаштувань.
якщо [[ "`smartc_func $i`" -ge $allowed_threshold ]]; тоді
echo Електронна пошта адміністратору
email_admin_func "Один із HD-дисків на" `ім'я хосту`", досягнув верхнього порогового обмеження !!! nПорогове значення було встановлено: $ allowed_threshold, а статус диска $ i був: "` smartc_func $ i` "" "
бути
зроблено

Ключові моменти, на які слід звернути увагу:

  • Функція електронної пошти - Встановіть відповідну інформацію, таку як назва машини та електронна адреса адміністратора.
  • Дозволений поріг - встановіть для цього параметра значення, яке, на вашу думку, є доречним, я використав 5, оскільки обмеження, встановлене для жорстких дисків, що використовуються мною ", було 10. (i'v знайшов поріг для дисків" споживчого класу "на досягати 140).
  • Встановіть пристрої, які ви хочете контролювати, налаштувавши перелік імен дисків у циклі “for”. Наразі включено два диски (sda та sdb), тому налаштуйте налаштування. Ви можете включити всі свої диски або лише деякі, якщо вам потрібно * виключити диск з якихось причин.

* у моїй початковій установці першим диском був флеш-накопичувач, тому читання його інформації, якщо це взагалі можливо, не надто корисне.

Зробіть скрипт виконуваним:

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

Налаштування виконано.

Заплануйте автоматичний запуск сценарію

Ми хочемо, щоб сценарій запускався автоматично, тому ми створимо для нього нове завдання Cron.
Як зазначено в Як налаштувати сповіщення електронною поштою на Linux Результатом цього є те, що якщо сам сценарій виявить помилку, cron автоматично повідомляє нас електронною поштою, як тільки це станеться.

Відкрийте планувальник завдань cron:

sudo crontab -e

Додайте це до його вмісту:

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

Це дозволить запускати сценарій щоранку о 7 ранку.


Усі ваші сектори належать нам :)

Raspberry Pi Box Hard Drive Scripts


Технічне обслуговування та оптимізація - Найпопулярніші статті

Яка остання версія macOS?

Технічне обслуговування та оптимізація Nov 15, 2024

Останньою версією macOS є macOS 10.15 Каталіна , яку Apple випустила 7 жовтня 2019 року. Apple випускає нов�..


Що записує Windows 10 на диск перед сном?

Технічне обслуговування та оптимізація Sep 12, 2025

НЕЗАГОТОВЛЕНИЙ ЗМІСТ Дізнавшись більше про те, як працюють операційні системи, вам може стати цік..


Як частіше робити сплячий режим Windows (замість сну)

Технічне обслуговування та оптимізація Jul 8, 2025

За замовчуванням Windows автоматично переведіть ваш ПК у режим сну після декількох хвилин без..


6 способів звільнити місце на жорсткому диску, що використовується системними файлами Windows

Технічне обслуговування та оптимізація Oct 14, 2025

Ми вже розглядали стандартні способи звільнити місце в Windows . Але якщо у вас невеликий твер�..


Отримайте пропозиції щодо покращення часу автономної роботи вашого телефону на Android за допомогою карата

Технічне обслуговування та оптимізація Aug 31, 2025

НЕЗАГОТОВЛЕНИЙ ЗМІСТ ти не потрібен вбивця завдань тому що Android може нормально керув�..


Новачок: 5 мишачих хитрощів у Windows, про які ви могли б і не знати

Технічне обслуговування та оптимізація Aug 21, 2025

НЕЗАГОТОВЛЕНИЙ ЗМІСТ Ми вже вам показали 5 хитрощів командного рядка Windows, яких ви, мабу..


Багатозадачність як професіонал з AquaSnap

Технічне обслуговування та оптимізація Mar 31, 2025

НЕЗАГОТОВЛЕНИЙ ЗМІСТ Вам набридло перебирати туди-сюди між вікнами? Ось зручний додаток, який допоможе..


Зробіть закладки завжди відкритими на нових вкладках простим способом

Технічне обслуговування та оптимізація Oct 2, 2025

НЕЗАГОТОВЛЕНИЙ ЗМІСТ Ви коли-небудь натискали на закладку і до пізнього часу не усвідомлювали, що вона ..


Категорії