О добром бекапе замолвите слово …

10.06.2016

Количество просмотров: 4091

Как часто потеряв что-то в своей жизни мы твердим себе «если бы..»? Если бы подумал об этом, если бы вовремя предусмотрел, если бы я знал... Но, то что случилось уже произошло и нет возможности это изменить. Зато можно извлечь урок и предпринять меры.

Однажды я решил перевести все информационные ресурсы компании в корпоративный портал. Взял универсальные списки и создал на их основе хранилища данных на все случаи жизни. Загрузил в них все имеющиеся данные и с радостью взглянул на это великолепие. Чудесно! Теперь я могу все автоматизировать: документы, отчеты, работу с данными. Все будет работать без моего участия! Идея была отличной, но как всегда это бывает, вмешался человеческий фактор.

Как-то ночером, обрабатывая данные, я случайно удалил несколько важных записей. Грустно взглянув на плоды «трудов» своих, я подумал, что не беда – у меня есть бекап! Портал регулярно архивировался и теоретически не было проблем его восстановить. Но, подняв архив я обнаружил, что с момента последнего резервирования прошло почти сутки и размер архива был под сотню гигабайт. Передо мной встала дилемма – потерять результаты работы за день или несколько важных данных.

Поразмыслив немного я пошел другим путем – развернул на основании архива еще один портал скопировал оттуда уничтоженные данные и восстановил их. Потеряв на это час времени и несколько нервных клеток, я глубоко задумался над тем как бы избежать таких проблем в будущем.

Тогда и родилась идея создания модуля, который смог бы в режиме реального времени делать резервные данные отдельных элементов инфоблоков, не только по изменениям (это умеют делать модули документооборот и бизнес-процессы) но и при удалении. Также хотелось, чтобы модуль позволял бы резервировать данные для любой редакции «1С-Битрикс: управление сайтом».

В результате проб и ошибок на свет родился модуль «SIMAI: Резервное копирование». Данный модуль позволяет выбрать необходимые инфоблоки для резервирования данных, автоматически  отслеживать все изменения и проводить массовый бекап данных, созданных, например до установки модуля.