BackTracker - бот для контроля своевременности резервного копирования

20.11.17

База данных - Архивирование (backup)

Когда речь заходит о резервном копировании, паранойи много не бывает. Допустим, Вы настроили бэкап PostgreSQL в сетевое NAS хранилище. Проверили, скрипт работает, все хорошо, ежедневные бэкапы, глубина хранения и всё такое. Но в какой-то момент что-то пошло не так, и важно не упустить этот момент, как можно быстрее всё исправить. Поможет в этом специально обученный Telegram бот.

Думаю, что немало админов приспосабливают технику "второй свежести" под NAS. Есть, наверное, разные рецепты приготовления NAS из того, что было, мне лично нравится рецепт с использованием исключительно свободных инградиентов.

Берем 2-3 офисных ветерана, перетряхиваем, выбираем их них всё самое лучшее, а иногда и просто живое, очищаем от пыли, ставим Linux, настраиваем программный RAID-1, поднимаем SSH и Samba, по вкусу добавляем Webmin и ветеран готов служить еще лет 5, обеспечивая сохранность резервных копий.

Те, кто хоть раз в жизни оказывались в ситуации, когда нужно было восстановиться из резервной копии, а её не было знают, что недостаточно просто настроить путь, куда складывать бэкапы. Как минимум, нужно периодически проверять, что они там появляются в назначенное время. Обычно админ раз в неделю/месяц/год заглядывает на NAS и смотрит на даты резервных копий. Метод не очень надежный, потому, что сильно зависит от человеческого фактора.

А у нас же есть целый сервер, который почти ничем не занят 99% времени, давайте поручим ему самому смотреть туда, где должны появляться резервные копии по расписанию и писать админу телеграммы, о том, что все хорошо, или что-то пошло не так. Админ будет получать эти телеграммы по дороге на работу и знать, что ночной бэкап отработал штатно и все хорошо, или же наоборот, что-то пошло не так, первое, чем ему надлежит заняться придя на работу - это вчерашние резервные копии.

Для этого нам понадобиться:

  1. Консоль Linux
  2. Python - он уже у нас есть, устанавливается по-умолчанию со всеми дистрибутивами Linux
  3. Git - аналогично
  4. Telegram bot - подробнее о них см. тут
  5. Ну и разумеется мессенджер Telegram, которым мы и будем принимать телеграммы от гиппопотама NAS

Открываем консоль, идем в домашнюю папку и клонируем себе скрипт из GitHub

$ cd ~
$ git clone https://github.com/kuleshovdv/backtracker.git
$ cd backtracker

Установим модуль python-telegram-bot, напоминаю, что установщик pip должен работать от root или с правами суперпользователя.

$ sudo pip install python-telegram-bot

Теперь обратимся к Отцу Ботов (@botfather, в Telegram кликнуть telegram.me/botfather) и создадим себе нового бота.

Запишем полученный токен нового бота в конфигурационный файл

$ nano backtracker.conf

и сконфигурируем прочие параметры работы скрипта

[Telegram]
token = 475789166:AAFXRE_e_GR5HUnsfpAgsgsd8fgwegUvMrakY  # токен, полученный от Отца Ботов
failonly = False  #True если отправлять сообщения только когда что-то пошло не так, False - сообщать о каждом сканировании

[Scan]
path = /home/kuld/backups  # сканируемая папка с резервными копиями
hours = 8  # свежесть резервных копий в часах, если нет файлов свежее указанного - это сигнал тревоги

Теперь нужно настроить получателя телеграмм. Запускаем утилиту.

$ ./backtracker.py
В конфигурационном файле не указан ChatID для отправки сообщений о результатах сканирования.
Отправьте своему боту команду /start для автоматического определения ChatID.

Конфигурация успешно сохранена. Запустите утилиту повторно для сканирования папок
$

При первом запуске производится автонастройка получателя. Отправьте своему боту команду /start, все остальное будет сделано автоматически. Скрипт готов к работе, запустите его еще раз.

Остается только добавить его вызов в crontab, что бы демон cron запускал его по расписанию через пару часов после планового резервного копирования.

Кстати, если папок для сканирования и/или получателей несколько, можно сделать разные conf файлы. С каким именно конфигурационным файлом работать скрипту указывается в командной строке.

$ ./backtracker.py backtracker.conf

Вступайте в нашу телеграмм-группу Инфостарт

telegram bot backup admin резервное копирование оповещение контроль linux python

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Архивирование (backup) Инструменты администратора БД 1С:Предприятие 8 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS! Версия 1.4 от 28.05.2026

7320 руб.

06.11.2012    80383    635    45    

94

Архивирование (backup) Обновление 1С Системный администратор Разработчик 1С 8.3 Бесплатно (free)

Платформа 8.3.17, MS SQL Server: обновление конфигурации падает через 15 секунд на этапе обновления предопределённых данных, и конфигуратор при каждом входе предлагает только повторить. Проверьте у себя, когда сделана последняя полная копия базы: у нас её не было почти месяц. Разбор по минутам: что не помогло (перезапуск агента сервера 1С, перезагрузка, пакетный /UpdateDBCfg, три совета со стороны) и почему. Как ibcmd достал .dt из базы, которая не открывается, и как новую базу подставили под старым именем в кластере 1С через rac, не трогая пользователей. Простой 57 минут, потерь данных нет. Отдельно ошибки ИИ-агента Claude, который работал на сервере, и порядок действий на случай, если это случилось у вас.

03.11.2026    461    nedomolkov.ivan    11    

5

Архивирование (backup) Инструменты администратора БД Системный администратор Разработчик 1С 8.3 1С:Управление торговлей 11 1С:Библиотека стандартных подсистем Абонемент ($m)

Полностью автоматизированная внешняя обработка для администрирования 1С: блокировка/разблокировка ИБ, массовое завершение сеансов, резервное копирование и восстановление из .dt, выгрузка/загрузка конфигурации (.cf), пакетная работа с расширениями (.cfe) и дополнительными обработками – всё через удобную форму без ручных запусков конфигуратора и консоли кластера

1 стартмани

21.01.2026    6499    66    war41k    0    

18

Архивирование (backup) Групповая разработка (Git, хранилище) Системный администратор Разработчик Бесплатно (free)

Как дать возможность каждому разработчику 1С вести разработку, тестирование и оптимизацию на собственной полноразмерной копии базы и при этом не тратить миллиарды рублей и тысячи часов на развертывание тестового окружения, а так же экономить дисковое пространство? Расскажем о том, как с помощью инструмента Database Lab получать полноразмерные копии базы 1C на СУБД PostgreSQL за считанные секунды (даже в случае использования многотерабайтных баз).

15.12.2025    14186    nasonkin    19    

31

Архивирование (backup) Учет документов Бухгалтер 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

В текущих версиях 1С пока нет функции, позволяющей автоматически отмечать возврат оригиналов документов с помощью сканера штрих-кодов. Многие контрагенты часто сталкиваются с проблемой утери оригиналов УПД или их невозврата. В ответ на эти запросы было разработано расширение, которое упрощает контроль за возвратом оригиналов документов и помогает лучше организовать их хранение.

12200 руб.

19.02.2025    2939    3    0    

3

Архивирование (backup) Системный администратор 1С 8.3 Бесплатно (free)

Предлагаю Вашему вниманию 3 скрипта на bash (sh) для архивирования (backup) типовых конфигураций на Linux средствами 1С и Postgres. Перед запуском корректно заполните раздел "Параметры" в соответствии с Вашими настройками.

20.01.2025    5972    Prelude    5    

12

Архивирование (backup) 1С 8.3 1С:Библиотека стандартных подсистем Абонемент ($m)

Резервные копии базы 1С без завершения сеансов: .dt, файл базы, PostgreSQL, MS SQL, своя команда. Расписание, профили, ротация, ZIP, FTP, журнал и письмо об ошибке. Платформа 8.3+ (кроме 8.2), любая конфигурация с БСП. Подключение за 5 минут.

5000 руб.

27.08.2024    4135    1    6    

2

HighLoad оптимизация Администрирование СУБД Архивирование (backup) Системный администратор Разработчик 1С:Предприятие 8 Бесплатно (free)

Бэкап в Postgres состоит из набора граблей, которые нужно обойти для успешного восстановления. Они заложены в самых неожиданных местах от предмета резервного копирования (база или кластер) до структуры каталогов. Один неверный шаг и восстановление будет невозможным. Почему нельзя было сделать проще, как в MS SQL или Oracle? Почему бэкап в Postgres оставляет впечатление чьей-то лабораторной работы? Статья адресована прежде всего специалистам 1С, избалованным комфортом в MS SQL, в суровых буднях импортозамещения на Postgres.

13.08.2024    10676    1CUnlimited    11    

6
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. viptextil 42 22.11.17 08:32 Сейчас в теме
А отправка логов на почту Вас чем не устраивает? Вот, не поверю, что сисадмины не пользуются почтой...
2. kuld 248 22.11.17 10:39 Сейчас в теме
(1) Это для тех сисадминов, которые хотят в телеграм
Для отправки сообщения требуется регистрация/авторизация