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

Публикация № 702609

Администрирование - Администрирование данных 1С - Архивирование (backup)

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

Когда речь заходит о резервном копировании, паранойи много не бывает. Допустим, Вы настроили бэкап 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

Специальные предложения

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

См. также

31 марта — Международный день резервного копирования Промо

Архивирование (backup) Бесплатно (free)

А вы сделали бэкап? А проверили, что его можно использовать?

31.03.2016    19234    0    Gilev.Vyacheslav    3    

Выгрузка в dt на сервере 1С по расписанию с завершением соединений и подключением к консоли сервера через com

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

Была задача настроить по расписанию выгрузку серверной базы в dt, готового решения не нашел, делюсь, может, кому пригодится.

16.04.2020    4309    0    karamazoff    46    

Организация резервного копирования файлов с использованием rclone

Архивирование (backup) Россия Бесплатно (free)

Описание использования достаточно универсальной утилиты по синхронизации файлов.

21.01.2020    3255    0    malikov_pro    0    

Тонкая настройка ежедневного резервного копирования базы данных 1С средствами SQL ver. 2014 (SP3) - 12.0.6024.0 (X64)

Архивирование (backup) v8 Россия Бесплатно (free)

Хочу вам предложить небольшой пример, как можно реализовать резервное копирование 1С-ых баз данных средствами SQL. Данный материал не претендует на пулитцеровскую премию. Но возможно кому-то будет интересно узнать, что-то новенькое. Данный материал для резервного копирования только одной базы данных. А именно, если у вас 20-ть баз, то вам придется создавать 20-ть планов обслуживания для каждой базы индивидуально. (Слава разработчикам SQL, они разрешили копировать блоки из одного плана в другой, вам остается только произвести небольшую настройку для каждого скопированного блока - некоторые настройки блоков сбрасываются и выставляются значением по умолчанию и остаются неактивными)

07.10.2019    9678    0    DrZombi    49    

Скрипт удобного восстановления базы MSSQL при дифференциальном резервировании Промо

Архивирование (backup) v7.7 v8 1cv8.cf 1cv7.md Россия Бесплатно (free)

Если у Вас база на MSSQL и Вы пользуетесь разностными бекапами, то, скорее всего, столкнулись с тем, что поднять базу/копию базы из имеющихся резервных файлов не столь удобно, как того хотелось бы. В этой статье приведен скрипт по теме.

20.01.2011    30058    0    Ivon    12    

Быстрое копирование таблиц большого размера и/или с большим числом строк, на примере регистра сведений (для MS SQL)

Архивирование (backup) v8 Бесплатно (free)

Моментальное восстановление затертого регистра сведений из бекапа посредством SQL.

11.08.2019    5716    0    Zlohobbit    25    

Настройка резервного копирования (резервирования) баз данных 1С: Предприятие на MS SQL Server

Архивирование (backup) v8 1cv8.cf Россия Бесплатно (free)

Настройка резервного копирования (резервирования) баз данных на "бюджетной" версии 1С Предприятие под MS SQL Server. Используется пример MS SQL Server 2008 R2 под Windows. Для малых и средних предприятий, исключая производственные и торговые, так как тестирование на них не проводилось.

30.10.2018    11797    0    unclevad    16    

Работа с конфигуратором по протоколу SSH (не в режиме агента)

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

Рабочее решение запуска пакетного скрипта конфигуратора 1С через SSH-клиента.

28.04.2018    10278    0    vsbronnikov    1    

Восстановление SQL базы 1С 8.2. рухнувшей во время сохранения конфигурации. Промо

Тестирование и исправление Архивирование (backup) v8 1cv8.cf Россия Бесплатно (free)

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

08.02.2012    127832    0    VanDiesel1    137    

Git с человеческим лицом для тех, кто устал терять данные

Архивирование (backup) Управление проектом Бесплатно (free)

Посвящается всем тем, у кого хоть раз в жизни пропадали файлы с важной информацией. Эта статья о том, как очень легко и быстро пользователю наколдовать "машину времени", которая будет возвращать потерянные файлы с возможностью восстановления любой предыдущей версии. Без программирования и программистов, без командных строк и системных администраторов. Руками любого бухгалтера, менеджера, секретаря или аналитика.

06.01.2018    73630    0    for_sale    62    

"Из грязи в князи" или из реального HDD в виртуальный

Архивирование (backup) Бесплатно (free)

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

29.10.2017    12337    0    JohnConnor    10    

Потоковая репликация и непрерывное архивирование базы данных PostgreSQL - делюсь небольшим опытом

Архивирование (backup) Россия Бесплатно (free)

Постарался кратко описать опыт настройки потоковой репликации и непрерывного архивирования в PostgreSQL.

27.10.2017    20743    0    KRIHA    9    

Резервное копирование-архивирование каталогов с помощью Python 3 Промо

Архивирование (backup) Россия Бесплатно (free)

В целях предварительного знакомства со скриптовым языком python я написал небольшой скрипт копирования-архивирования каталогов из заданного списка.

26.04.2012    26607    0    aximo    8    

Резервное копирование "онлайн" клиент-серверных баз в dt (не отключая пользователей)

Архивирование (backup) v8 Бесплатно (free)

Как реализовать резервное копирование клиент-серверных баз 1с в формат dt, не отключая пользователей. Рассматривается способ, делающий резервирование наименее заметным для пользователей и серверного оборудования.

03.10.2017    23558    0    konstanta_online    80    

Настройка зеркалирования базы для MS SQL

Архивирование (backup) Производительность и оптимизация (HighLoad) v8 1cv8.cf Бесплатно (free)

Очень удобный способ, когда нам нужна не просто резервная копия, а "горячая" замена серверов.

19.05.2017    29729    0    MsDjuice    14    

Бекап средствами MS SQL во внешний источник по датам

Архивирование (backup) Бесплатно (free)

Бекап средствами MS SQL (Transact-SQL) всех баз во внешний источник по папочкам и датам

08.02.2017    10794    0    ILYXA    10    

К вопросу об архивации баз 1С (и снова, и снова...) Промо

Архивирование (backup) v8 1cv8.cf Россия Бесплатно (free)

Из своего опыта хочу напомнить о самом простом способе архивации баз типовыми средствами 1С и планировщика Windows.

08.01.2010    25610    0    grum01    14    

Рекомендации по организации резервного копирования для систем с Windows Server / Windows SQL Server

Архивирование (backup) v8 Бесплатно (free)

В данной статье мы рассмотрим работу с резервными копиями базы данных 1С, а также некоторые приемы, оптимизирующие работу с резервными копиями.

10.10.2016    18772    0    Zebar    12    

Резервное копирование и восстановление базы 1С средствами PostgreSQL

Архивирование (backup) v8 Бесплатно (free)

Алгоритм резервного копирования баз 1С: 8 средствами PostgreSQL.

01.08.2016    66945    0    dimisa    33    

Сохранение SQL Backup в облачном хранилище

Архивирование (backup) Бесплатно (free)

В этой статье я расскажу, как можно настроить сохранение последних SQL бэкапов выбранных баз в облачном хранилище, используя SQL jobs.

09.03.2016    19902    0    BadMadJohn    4    

Архивирование БД. v7. v8. DBF. SQL

Архивирование (backup) Бесплатно (free)

Простые примеры архивирования БД. Простой вариант для решения резервного копирования DBF и SQL баз данных. Для автоматического резервного копирования достаточно добавить задание «планировщик заданий», которое будет выполняться раз в сутки, и установить WinRar.

22.12.2015    15213    0    LavinVadik    6    

Резервная копия файловой базы данных на ftp сервер через cmd

Архивирование (backup) Бесплатно (free)

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

1 стартмани

20.09.2015    22031    0    jaroslav.h    15    

Как я восстанавливал разрушенную базу

Архивирование (backup) Распределенная БД (УРИБ, УРБД) Тестирование и исправление v8 1cv8.cf Бесплатно (free)

УТ10.3 на Платформе 8.2 на базе MSSQL была разрушена после попытки её восстановить после неудачного динамического обновления. Таблица Config целевой базы была заменена на содержимое таблицы Config от другой рабочей базы. Но на самом деле конфигурации у них существенно отличались, поэтому после таких действий целевая база рухнула окончательно. Что же делать?

21.08.2015    29277    0    METAL    25    

Просто и сердито. Архивирование (backup) типовых конфигураций 1С 8.2, 8.3

Архивирование (backup) v8 1cv8.cf Бесплатно (free)

После эксплуатации различных "бесплатных" обработок и скриптов решил написать свой cmd-файл для ежедневного архивирования баз 1С. Работает на конфигурациях, где есть процедуры "ЗавершитьРаботуПользователей" и "РазрешитьРаботуПользователей" (т.е. во всех типовых, в нетиповые данные модули можно скопировать из типовых). Сохраняет файлы как локально так и на удаленном файловом сервере. Автоматически удаляет старые архивы и копирует на удалённый сервер отсутствующие. Расписание задается установкой соответствующего задания (запуска cmd-файла по времени) в планировщике задач Windows. Для борьбы с зависшими сеансами, рекомендуется настроить в режиме конфигуратора параметры информационной базы: "Время засыпания пассивного сеанса" и "Время завершения спящего сеанса".

18.06.2015    17784    0    Prelude    14    

Функциональные возможности инструментов для резервного копирования данных 1С

Архивирование (backup) Бесплатно (free)

В данной статье рассматриваются функциональное и технологическое обеспечение резервного копирования данных 1С, предоставляемого различными специализированными и универсальными утилитами. Для сравнения отобраны программы: Effector Saver, Handy Backup, «1Скрипт-Менеджер для MS SQL» а также бесплатная «Бэкапер-1С».

27.03.2015    17775    0    ej_tuman    8    

Простейший архиватор

Архивирование (backup) Бесплатно (free)

Простейший скрипт для архивирования баз данных

04.08.2014    9738    0    SoftLeon    2    

Что такое резервное копирование информационных баз и зачем это нужно?

Архивирование (backup) Россия Бесплатно (free)

Достаточно часто к нам поступают обращения от пользователей файловых баз с просьбами помочь восстановить базу данных, которая не открывается вообще или «вылетает»; в которой не формируются или не редактируются отчеты; не удаляются некоторые документы. что делать в такой ситуации и как избежать ее неприятных последствий расскажем в этой статье.

17.09.2013    22162    0    portal-ug    18    

Как выгрузить базу средствами 1С, не выгоняя пользователей. Делаем невозможное.

Архивирование (backup) Администрирование данных 1С v8 1cv8.cf Бесплатно (free)

В 1С:Предприятии 8.2 есть ограничение на выгрузку базы в формате DT. Выгрузить базу можно, только если в ней нет активных пользователей. В этой статье поделюсь способом, как обойти это ограничение и сделать невозможное.

16.09.2013    48167    0    yurega    54    

SQL. Настройка резервного копирования.

Архивирование (backup) Бесплатно (free)

Настройка резервного копирования БД 1С на MS SQL Server. На примере MS SQL Server 2012

06.09.2013    174506    0    1cprogr_nsk    42    

Восстановление SQL базы 1С 8.2. после неудачного сохранения конфигурации

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

При динамическом обновлении, в процессе сохранения конфигурации, вылетела база 1С и отказалась заходить в режим Конфигуратора, выдавая сообщение "Внимание!!! При обновлении данных, после последней реструктуризации, произошла ошибка. Повторить обновление?", если ответить утвердительно, то появлялось сообщение "Обнаружена незавершенная операция сохранения конфигурации. Для продолжения работы необходимо завершить операцию.", после чего Конфигуратор закрывался.

18.07.2013    36258    0    lord_soth    45    

Резервное копирование 1С средствами VisualBatch

Архивирование (backup) Бесплатно (free)

Автоматизация резервирования файловых баз 1С7 и 1С8 с возможностью настройки обратной связи, авто-нумерации резервных копий и записи на оптический диск.

08.06.2013    10372    0    dzuyba    3    

Скрипт - выгонялка пользователей + резервная копия базы.

Архивирование (backup) v8 1cv8.cf Бесплатно (free)

В Клиент-серверном режиме работы базы часто возникает необходимость выгонять пользователей чтобы сделать обновление, резервные копии и т.п. Для ленивых, которым неудобно всех выгонять "руками" или ждать окончания рабочего дня, предлагается простой скрипт, который всё сделает за вас.

26.02.2013    24653    0    tystik    11    

Резервное копирование 1С средствами MS SQL.

Архивирование (backup) v8 1cv8.cf Бесплатно (free)

В этой статье описано самое обычное резервное копирование ИБ 1С при помощи инструментов MS SQL Server 2008 R2, объяснено почему следует делать именно так, а не иначе, и развеяно несколько мифов.

17.02.2013    248825    0    speshuric    81    

sql server, как восстановить базу из бекапа или из другой базы

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

sql server, как восстановить базу из бекапа или из другой. обычный мануал в двух картинках.

25.01.2013    13108    0    sadam_max    14    

Хранение удаленных документов в отдельной базе. Часть 1.

Администрирование данных 1С Архивирование (backup) v8 1cv8.cf Бесплатно (free)

Резервное хранение данных. Пример работы с внешними источниками данных. Работа с файлами. Подписка на событие. Работа с XML файлами. Сериализатор XDTO.

12.12.2012    16013    0    egorovntn    10    

Восстановление файловой версии базы данных *.1CD после ошибки динамического обновления.

Сервисные утилиты Архивирование (backup) Администрирование данных 1С Тестирование и исправление v8 1cv8.cf Бесплатно (free)

Восстановление работоспособности файл-серверной базы данных (файл *.1CD) после критической ошибки, возникшей в результате динамического обновления с последующим предупреждением "Внимание!!! При обновлении данных, после последней реструктуризации, произошла ошибка. Повторить обновление?".

02.10.2012    50560    0    djserega    77    

Автоматическая архивация данных 1C c помощью WinRAR

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

Иногда случаются казусы типа: БД «рухнула», кто-то что-то совершенно «случайно» грохнул, или вообще HDD скончался…. Первая мысль: сейчас бы архивчик…. А его частенько нет, ибо любим мы на русский «авось» полагаться. Предлагаю универсальный и безотказный способ автоматической архивации, не требующий ничего потустороннего, только известный всем архиватор WinRAR. Потратите 5-10 минут на настройку, и Вы спокойны.

04.09.2012    39749    0    vladimir_makarov    58    

Автоматическое регулярное разворачивание оперативных бэкапов (совсем просто) в MS SQL 2008

Архивирование (backup) v7.7 v8 1cv8.cf 1cv7.md Россия Бесплатно (free)

В работе регулярно возникает необходимость протестировать поведение программы на копии рабочей базы с актуальными данными

10.08.2012    18114    0    sergiobargio1    6    

Регулярные оперативные копии рабочих баз 1С с помощью MS SQL 2008

Администрирование данных 1С Архивирование (backup) v8 1cv8.cf Россия Бесплатно (free)

В течение дня необходимо производить отладку "допилов" на свежих копия рабочих баз. Также необходимы актуальные копии и для экспериментов, в том числе и пользователям. На этом замечательном ресурсе есть много полезных публикаций с различными вариантами, как это сделать. В одном из них предлагается использовать инструмент мгновенных снимков баз, которые возможно выполнить только в версии Express Edition. В этом посте очень простой вариант, не требующий дорогостоящей версии MS SQL

01.08.2012    19012    0    sergiobargio1    8    

Пошаговая инструкция по процедуре восстановления базы SQL. SQL Server 2008

Архивирование (backup) Администрирование данных 1С v8 1cv8.cf Россия Бесплатно (free)

Пошаговая инструкция по по процедуре восстановления бэкапа SQL 2008.

23.07.2012    122622    0    Vint88    19    

Автоматизация создания резервных копий в MS SQL Express Server

Архивирование (backup) v8 1cv8.cf Россия Бесплатно (free)

В версии Microsoft SQL Server 2005/2008/2008R2 Express Edition серверах нет стандартных средств создания резервных копий баз данных по расписанию. Восполнить этот пробел поможет простое решение

18.06.2012    29855    0    LexSeIch    4    

Запуск сервиса dropbox как службы на терминальном сервере

Архивирование (backup) Россия Бесплатно (free)

Настройка сервиса dropbox как службы на терминальном сервере

25.03.2012    32355    0    Castaman    13