Настройка отправки уведмления cron в Telegram

Как отправить уведомление cron в Telegram

Для настройки отправки уведомления в телеграм при падении cron-задания нужно сделать следующее:

  • создать Telegram_бота
  • узнать chat_id пользователя / группы куда будет отправлено уведомление
  • написать скрипт, отправляющий уведомление через botApi
  • настроить crontab

1.Создание Telegram-бота

В Telegram:

  • Напишите @BotFather
  • /start
  • /newbot
  • Сохраните BOT_TOKEN (выглядит как 123456:ABC-DEF…)

2️. Узнать chat_id

Самый простой способ:

  1. Напишиье что-нибудь своему боту
  2. Откройте в браузере:
https://api.telegram.org/bot<BOT_TOKEN>/getUpdates
  1. В ответе будет:
"chat": {
  "id": 123456789,
  ...
}

Это и есть CHAT_ID пользователя / группы. Альтернативно — можно использовать IdBot @myidbot (просто добавьте в группу, или напишите боту)

3. Скрипт отправки уведомления

#!/bin/bash

BOT_TOKEN="123456:ABC-DEF"
CHAT_ID="123456789"
MESSAGE="$1"

curl -s -X POST "https://api.telegram.org/bot${BOT_TOKEN}/sendMessage" \
     -d chat_id="${CHAT_ID}" \
     -d text="${MESSAGE}"

Установите Ваши BOT_TOKEN, CHAT_ID

Сделайте скрипт исполняемым:

chmod +x /usr/local/bin/telegram_alert.sh

4. Настройте crontab

0 2 * * * /usr/local/bin/check_disk.sh || /usr/local/bin/telegram_alert.sh "Ошибка при проверке диска"

CRON Manager

CRON manager — это панель управления для ваших cron-заданий с удобным UI и системой уведомлений.

Вы создаете задание через веб-интерфейс: задаете команду, расписание, пользователя и способы оповещения, а система сама обновляет crontab и следит за запуском

В CRON Manager из коробки есть функционал отправки уведомлений через Telegram / email / webhook

Узнать больше о CRON Manager можно на странице cronmanager.spheragroup.ru