Hddtemp (Русский)

Ссылки по теме
lm sensors (Русский)
Conky (Русский)
Состояние перевода:
На этой странице представлен перевод статьи
Hddtemp
. Дата последней синхронизации: 21 декабря 2020. Вы можете
помочь
синхронизировать перевод, если в английской версии произошли
изменения
.
hddtemp
— небольшая утилита (включающая в состав службу), позволяющая узнать температуру жёсткого диска посредством
S.M.A.R.T.
(для дисков, поддерживающих эту технологию).
Установка
Установите
пакет
hddtemp
.
Использование
Hddtemp требует привилегий суперпользователя. Команда
hddtemp
требует в качестве аргумента как минимум одно имя физического устройства или имена нескольких, разделённые пробелами. Например:
# hddtemp /dev/disk/by-id/wwn-0x60015ee0000b237f /dev/sd
X2
... /dev/sd
Xn
Примечание
Названия блочных устройств в
/dev/
, подобно
/dev/sdX
, неоднозначны. См. статью
Persistent block device naming (Русский)
для получения информации об использовании постоянных путей устройств.
Для получения дополнительной информации смотрите man-страницу:
hddtemp(8)
.
Служба
Запуск службы позволит получать информацию о температуре по TCP/IP обычному пользователю. Это может быть полезно для использования скриптов или систем мониторинга.
Служба
контролируется
hddtemp.service
.
Чтобы получить информацию о температуре, подключитесь к серверу со включённой службой, которая прослушивает порт 7634.
С помощью
inetutils
:
$ telnet localhost 7634
С помощью
openbsd-netcat
:
$ nc localhost 7634
Вывод будет примерно следующий:
|/dev/sda|ST3500413AS|32|C||/dev/sdb|ST2000DM001-1CH164|36|C|
Удобочитаемый вариант:
$ nc localhost 7634 |sed 's/|//m' | sed 's/||/ \n/g' | awk -F'|' '{print $1 " " $3 " " $4}'
/dev/sda 32 C 
/dev/sdb 36 C
Изменить предопределённый диск
По умолчанию служба hddtemp отслеживает только
/dev/sda
. Если у вас несколько дисков, то вам потребуется
переопределить
стандартную конфигурацию мониторинга.
Необходимо предварительно узнать, какие жёсткие диски поддерживают мониторинг. Для этого можно воспользоваться
smartmontools
.
# systemctl edit hddtemp.service
[Service]
ExecStart=
ExecStart=/usr/bin/hddtemp --daemon --foreground /dev/disk/by-id/wwn-0x60015ee0000b237f /dev/sdb --listen=127.0.0.1
Измените названия устройств, которые вы хотите отслеживать.
Сохраните изменения и выйдите из текстового редактора.
systemd
автоматически применит изменения и перезагрузит службу
hddtemp
.
Также можно воспользоваться скриптом
auto-generate
, который определит поддерживаемые жёсткие диски с помощью
smartmontools
и напечатает результат в стандартный поток вывода.
Мониторинг
Hddtemp может быть встроен в
различные системы мониторинга
.
Conky
также собран с поддержкой hddtemp в режиме демона. Просто
включите
hddtemp.service
и добавьте
$hddtemp °C
в ваш конфигурационный файл conky.
Твердотельные накопители
Для получения значения температуры hddtemp обычно считывает поле
194
данных S.M.A.R.T. жёсткого диска. В SSD накопителях информация о температуре обычно хранится в поле
190
. Можно посмотреть этот параметр, выполнив следующие команды:
# smartctl --all /dev/sd
x
или
# hddtemp --debug /dev/sd
x
где
/dev/sd
x
— имя диска (воспользуйтесь
lsblk
для проверки имени).
Другой способ — внести запись в базу данных hddtemp, указав требуемый накопитель с параметрами поля и единицы измерения в
/etc/hddtemp.db
. Например:
$ echo '"Samsung SSD 840 EVO 250GB" 190 C "Samsung SSD 840 EVO 250GB"' >> /etc/hddtemp.db