```sh sudo apt install smartmontools # узнаём какие диски подключены: ls -l /dev | grep -E 'sd|hd' #  или: smartctl --scan lsblk # отображение информации о диске: smartctl --info /dev/sda # запустить проверку: smartctl -s on -a /dev/sda # Здесь опция -s включает флаг SMART на указном устройстве. Вы можете его убрать если поддержка SMART уже включена. Информация о диске разделена на несколько разделов, В разделе **READ SMART DATA** находится общая информация о здоровье жесткого диска. `=== START OF READ SMART DATA SECTION === SMART overall-health self-assessment rest result: PASSED` # Этот тест может быть пройден (PASSED) или нет (FAILED). В последнем случае сбой неизбежен, начинайте резервное копирование данных с этого диска. ``` Следующая вещь которую можно посмотреть, когда выполняется диагностика HDD в linux, это таблица SMART атрибутов. [![](https://losst.pro/wp-content/uploads/2015/08/Snimok-ekrana-ot-2020-05-14-14-20-12-1024x576.png)](https://losst.pro/wp-content/uploads/2015/08/Snimok-ekrana-ot-2020-05-14-14-20-12.png) В SMART таблице записаны параметры, определенные для конкретного диска разработчиком, а также порог отказа для этих параметров. Таблица заполняется автоматически и обновляется на основе прошивки диска. - **ID #** - идентификатор атрибута, как правило, десятичное число между 1 и 255; - **ATTRIBUTE_NAME** - название атрибута; - **FLAG** - флаг обработки атрибута; - **VALUE** - это поле представляет нормальное значение для состояния данного атрибута в диапазоне от 1 до 253, 253 - лучшее состояние, 1 - худшее. В зависимости от свойств, начальное значение может быть от 100 до 200; - **WORST** - худшее значение value за все время; - **THRESH** - самое низкое значение value, после перехода за которое нужно сообщить что диск непригоден для эксплуатации; - **TYPE** - тип атрибута, может быть Pre-fail или Old_age. Все атрибуты по умолчанию считаются критическими, то-есть если диск не прошел проверку по одному из атрибутов, то он уже считается не пригодным (FAILED) но атрибуты old_age не критичны; - **UPDATED** - показывает частоту обновления атрибута; - **WHEN_FAILED** - будет установлено в **FAILING_NOW** если значение атрибута меньше или равно THRESH, или в "**-**" если выше. В случае **FAILING_NOW**, лучше как можно скорее выполнить резервное копирование, особенно если тип атрибута **pre-fail**. - **RAW_VALUE** - значение, определенное производителем. ## Автоматическая диагностика в smartd Автоматическая диагностика HDD в Linux настраивается очень просто. Сначала отредактируйте файл конфигурации smartd - /etc/smartd.conf. Добавьте следующую строку:  `nano /etc/smartd.conf` `/dev/sda -m myemail@mydomain.com -M test` Здесь: - **-m ** - адрес электронной почты для отправки результатов проверки. Это может быть адрес локального пользователя, суперпользователя или внешний адрес, если настроен сервер для отправки электронной почты; - **-M** - частота отправки писем. once - отправлять только одно сообщение о проблемах с диском. **daily** - отправлять сообщения каждый день если была обнаружена проблема. **diminishing** - отправлять сообщения через день если была обнаружена проблема. **test** - отправлять тестовое сообщение при запуске smartd. **exec** - выполняет указанную программу в место отправки почты. Сохраните изменения и перезапустите **smartd**: `sudo systemctl restart smartd` Вы должны получить на электронную почту письмо о том, что программа была запущена успешно. Это будет работать только если на компьютере настроен почтовый сервер. [![](https://losst.pro/wp-content/uploads/2015/08/Snimok-ekrana-ot-2020-05-14-15-27-39-1024x576.png)](https://losst.pro/wp-content/uploads/2015/08/Snimok-ekrana-ot-2020-05-14-15-27-39.png) Также можно запланировать тесты по своему графику, для этого используйте опцию **-s** и регулярное выражение типа **T/MM/ДД/ДН/ЧЧ**, где: Здесь **T** - тип теста: - **L** - длинный тест; - **S** - короткий тест; - **C** - тест перемещения (ATA); - **O** - оффлайн тест. Остальные символы определяют дату и время теста: - **ММ** - месяц в году; - **ДД** - день месяца; - **ЧЧ** - час дня; - **ДН** -  день недели (от 1 - понедельник 7 - воскресенье; - **MM, ДД и ЧЧ** - указываются с двух десятичных цифр. Точка означает все возможные значения, выражение в скобках (A|B|C) - означает один из трех вариантов, выражение в квадратных скобках [1-5] означает диапазон (от 1 до 5). Например, чтобы выполнять полную проверку жесткого диска linux каждый рабочий день в час дня добавьте опцию **-s** в строчку конфигурации вашего устройства: `/dev/sda -m myemail@mydomain.com -M once -s (L /../../[1-5]/13)` Если вы хотите чтобы утилита сканировала и проверяла все устройства, которые есть в системе используйте вместо имени устройства директиву DEVICESCAN: `DEVICESCAN -m myemail@mydomain.com -M once -s (L /../../[1-5]/13)`