SMART-оповещения через Telegram: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
Строка 19: Строка 19:
#Перезапустить службу: {{cmd|systemctl restart smartd}} и ловить в настроенном чатике тестовые сообщения.
#Перезапустить службу: {{cmd|systemctl restart smartd}} и ловить в настроенном чатике тестовые сообщения.
#Если всё ОК, убрать '''<code>-M test</code>''' из предыдущего пункта и вновь перезапустить службу.
#Если всё ОК, убрать '''<code>-M test</code>''' из предыдущего пункта и вновь перезапустить службу.
Готово.

Версия от 07:30, 11 октября 2023

Честно стырено отсюда.

  1. В файле /etc/…/smartmontools (где «…» — default для деб-дистров или sysconfig для рпм-дистров) раскомментировать либо добавить в опции ежеполучасовую проверку:
    smartd_opts="--interval=1800"
  2. Создать исполняемый файл /etc/smartmontools/run.d/10telegram-notify с содержимым:
    #!/bin/bash -e
    
    BOT="<ИД бота>:<жетон бота>"
    ChatID="-100XXXXXXXXXX" # ИД или имя чатика
    Topic=<число>           # Тема для ловли уведомлений
    MSG=`cat $1`
    
    curl -s https://api.telegram.org/bot$BOT/sendMessage -d parse_mode=markdown \
         -d text="$MSG" -d chat_id=$ChatID -d reply_to_message_id=$Topic 2>&1 >/dev/null
    
  3. В файле /etc/smartd.conf добавить для проверки -M test в строчку:
    DEVICESCAN -d removable -n standby -m root -M test -M exec /usr/share/smartmontools/smartd-runner
  4. Перезапустить службу: systemctl restart smartd и ловить в настроенном чатике тестовые сообщения.
  5. Если всё ОК, убрать -M test из предыдущего пункта и вновь перезапустить службу.

Готово.