Перейти к содержимому

Уведомление о завершении скрипта или бэкапа ​

Депешер помогает узнать о завершении долгой команды, не проверяя терминал вручную. Например, после резервного копирования скрипт отправляет сообщение в Telegram, Email, группу Telegram, Пачку или Depesher Desktop.

Подготовьте уведомления ​

Сначала создайте и подтвердите исходящий канал для получателя. Затем создайте входящий канал, свяжите каналы и скопируйте публичный адрес. Установите CLI и добавьте в конфигурацию запись backup_ch с этим адресом.

Сначала проверьте отправку отдельно от бэкапа:

bash
depesher -v backup_ch "Проверка уведомления о бэкапе"

Сообщите об успехе ​

В Bash запустите свою команду, а после && — отправку уведомления:

bash
python3 my_best_backup.py &&
  depesher backup_ch "Бэкап выполнен успешно!"

Оболочка выполнит вторую команду только при коде завершения 0 у первой. Замените python3 my_best_backup.py собственной командой резервного копирования, импорта или обработки данных.

Эта связка сообщает о результате программы. Корректность созданной резервной копии должен проверять сам процесс бэкапа.

Сообщите и об ошибке ​

Чтобы различать успех и сбой, используйте отдельные ветки. Этот скрипт Bash сохраняет код завершения основной операции, даже если отправка уведомления не удалась:

bash
#!/usr/bin/env bash

if python3 my_best_backup.py; then
  task_status=0
  notification="Бэкап выполнен успешно!"
else
  task_status=$?
  notification="Ошибка бэкапа. Код завершения: $task_status"
fi

if ! depesher backup_ch "$notification"; then
  printf '%s\n' 'Не удалось отправить уведомление' >&2
fi

exit "$task_status"

Не заменяйте такую развилку цепочкой задача && уведомление_об_успехе || уведомление_об_ошибке: в ней сбой отправки первого уведомления тоже приведёт к сообщению об ошибке задачи.

Что включать в сообщение ​

Укажите название операции, окружение и результат. Например: «Бэкап production завершён, архив проверен» — если проверка действительно предусмотрена вашим скриптом. Для подробностей можно добавить ссылку на журнал операции.

Проверьте обе ветки ​

В тестовой копии скрипта замените команду бэкапа сначала на true, затем на false. Убедитесь, что тексты различаются, а код завершения равен соответственно 0 и 1. После этого верните настоящую команду.

Если сообщения нет, проверьте доставку. Для запуска по расписанию переходите к сценарию cron и worker.

Разные маршруты успеха и ошибки ​

Чтобы ошибки шли в несколько способов получения, а успех сохранялся только в личной истории, используйте JSON-вариант CI/CD. Замените основную команду на свой бэкап, сохраняя её код завершения. Командная доставка настраивается через организацию. Правила не сравнивают размер архива с порогом: готовый тип события определяет скрипт.