SMART-оповещения через Telegram: различия между версиями
Дым (обсуждение | вклад) Нет описания правки |
Дым (обсуждение | вклад) Нет описания правки |
||
(не показано 10 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
Честно стырено [https://ejewika.blogspot.com/2019/10/smart-telegram.html отсюда]. | Честно стырено [https://ejewika.blogspot.com/2019/10/smart-telegram.html отсюда]. | ||
#В файле {{path|/etc/…/smartmontools}} ''(где «…» — <code>default</code> для деб- | #В файле {{path|/etc/…/smartmontools}} ''(где «…» — <code>default</code> для деб-форков или <code>sysconfig</code> для рпм-дистров)'' раскомментировать либо добавить в опции ежеполучасовую проверку: | ||
#:<pre>smartd_opts="--interval=1800"</pre> | #:<pre>smartd_opts="--interval=1800"</pre> | ||
#Создать исполняемый файл {{path|/etc/smartmontools/run.d/10telegram | #Создать исполняемый файл {{path|/etc/smartmontools/run.d/10telegram}}: | ||
#:<source lang=bash> | #:<source lang=bash> | ||
#!/bin/bash -e | #!/bin/bash -e | ||
BOT="<ИД бота>:<жетон бота>" | BOT="<ИД бота>:<жетон бота>" | ||
URL=https://api.telegram.org/bot$BOT/sendMessage | |||
ChatID="-100XXXXXXXXXX" # ИД или имя чатика | ChatID="-100XXXXXXXXXX" # ИД или имя чатика | ||
Topic=<число> # Тема для ловли уведомлений | Topic=<число> # Тема для ловли уведомлений | ||
MSG=`cat $1` | MSG=`cat $1` # Сообщение от смарт-демона | ||
curl -s | curl -s $URL -F chat_id=$ChatID -F reply_to_message_id=$Topic \ | ||
- | -F text="$MSG" -F parse_mode=markdownv2 2>&1 >/dev/null | ||
</source> | </source> | ||
#В файле {{path|/etc/smartd.conf}} добавить для проверки '''<code>-M test</code>''' в строчку: | #В файле {{path|/etc/smartd.conf}} добавить для проверки '''<code>-M test</code>''' в строчку, подобную этой: | ||
#:<pre>DEVICESCAN -d removable -n standby -m root -M test -M exec /usr/share/smartmontools/smartd-runner</pre> | #:<pre>DEVICESCAN -d removable -n standby -m root -M test -M exec /usr/share/smartmontools/smartd-runner</pre> | ||
#Перезапустить службу | #Перезапустить службу ({{cmd|# systemctl restart smartd}}) и ловить в настроенном чатике проверочные сообщения. | ||
#Если всё ОК, убрать '''<code>-M test</code>''' из | #Если всё ОК, убрать '''<code>-M test</code>''' из пункта выше и вновь перезапустить службу. | ||
Готово. | Готово. | ||
=Обратная связь= | =Обратная связь= |
Текущая версия от 04:18, 26 ноября 2023
Честно стырено отсюда.
- В файле /etc/…/smartmontools (где «…» —
default
для деб-форков илиsysconfig
для рпм-дистров) раскомментировать либо добавить в опции ежеполучасовую проверку:smartd_opts="--interval=1800"
- Создать исполняемый файл /etc/smartmontools/run.d/10telegram:
#!/bin/bash -e BOT="<ИД бота>:<жетон бота>" URL=https://api.telegram.org/bot$BOT/sendMessage ChatID="-100XXXXXXXXXX" # ИД или имя чатика Topic=<число> # Тема для ловли уведомлений MSG=`cat $1` # Сообщение от смарт-демона curl -s $URL -F chat_id=$ChatID -F reply_to_message_id=$Topic \ -F text="$MSG" -F parse_mode=markdownv2 2>&1 >/dev/null
- В файле /etc/smartd.conf добавить для проверки
-M test
в строчку, подобную этой:DEVICESCAN -d removable -n standby -m root -M test -M exec /usr/share/smartmontools/smartd-runner
- Перезапустить службу (# systemctl restart smartd) и ловить в настроенном чатике проверочные сообщения.
- Если всё ОК, убрать
-M test
из пункта выше и вновь перезапустить службу.
Готово.