Бэкапы файловых баз


Информационная база для бэкапа любых файловых БД (написана под 1С 8.3)
* бэкапит файловые БД
* помещает их в архив и хранит историю бэкапов в архиве
* прореживает архивы за период

Информационная база для бэкапов файловых БД. Конфигурация разработана под 1С 8.3.6.2100. 

Для начала небольшое лирическое отступление. Это мой первый сколько-нибудь нужный проект на управляемых формах. Что хочется сказать? В целом работать с управляемыми формами стало удобнее и приятнее, чем с обычными, потому что большую часть забот по оформлению интерфейса 1С берет на себя. Чем-то напоминает Oracle, который умеет сам генерировать формочки на основе описания СУБД. Однако, Oracle, как я понимаю шел от теории к практике, а фирма 1С наоборот от практики двигалась к теории и потребностям рынка. Единственное, что неудобно — это невозможность контекстного поиска. Насколько я понял, это связано с тем, что 1С не умеет передавать таблицу с сервера на клиент и там с ней работать. Вот когда я писал в связке Delphi + MS SQL, то там можно было сформировать любой курсор (таблицу), вытянуть ее с сервера на клиент, а потом делать с ней на клиенте что угодно вплоть до контекстного поиска.

А теперь непосредственно к программе.

Мне такая потребовалась в холдинге, где очень много разномастных файловых БД, начиная от 1С 7.7, кончая 1С 8.3. Все они бэкапились, а потом программа слетела из-за смерти винта.

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

Итак, загружаем *.dt файл в пустую конфигурацию и запускаем базу. Нас спросят, желаем ли мы перейти в режим конфигурирования или нет? При нажатии «Нет» или «Отмена» произойдет выполнение бэкапов, а в Вашем конкретном случае вывалится ошибка, потому что у вас не существет таких путей, которые есть у меня на компьютере.

Поэтому нажимаем «ДА»

Когда мы нажмем «Да», то попадем в программу, где нужно будет выбрать основную подсистему, которая состоит из 2-х частей:

1. Список баз, который содержит в своем составе

  • название базы (это для нас — сами придумываем название)
  • путь к каталогу базы (мы ведь о файловых базах)
  • путь для бэкапа (сюда будет попадать актуальный бэкап)
  • путь к архиву (это будет архив бэкапов)

Все эти пути необходимо будет настроить! Код базы заполняется автоматически. Обратите внимание, что пометить базу на удаление (в списке баз) недостаточно. Ее необходимо удалить непосредственно, чтобы бэкапов не выполнялось.

Также есть вторая часть — это обработка

2.  «Настройка бэкапов». В ней нужно задать «Путь к отчету» (это будет полное имя файла — полный каталог + имя файла.txt), в который будут помещаться данные об ошибках во время резервного копирования. Также в этой обработке можно прореживать архив бэкапов за период. Бэкапы прореживаются через 1. Не забудьте указать период! Прореживаются все бэкапы из списка баз за указанный период в архиве!

Хорошо! Допустим, задали базы и все пути. Что теперь делать? Теперь открываем bat-файл (лучше в FAR, т.к. DOS-кодировка) из архива и меняем его под себя так, чтобы у нас запускалась непосредственно наша база, а не та, которая лежит у меня на компьютере.

Прописали. Теперь стандартными средставми Windows настраиваем в планировщике заданий запуск этого bat-файла. Он будет запускаться, например, каждую ночь, и каждую ночь он будет нам снова предлагать запуститься в режиме конфигурирования. Но если за 60 секунд мы ничего не ответим, то резервное копирование начнется автоматически.

Если мы не верим, что это будет работать, то можем руками несколько раз запустить конфигурацию или bat-файл, а потом убедиться, что в тех папках, которые у нас называются «Путь к архиву» количество бэкапов будет увеличиваться. Потом, когда их станет много, то можно попробовать их проредить!

Бэкапы помещаются в zip-архив, который, насколько я понял, встроен в Windows.

Бэкапить можно естественно не только 1С-ные файловые базы, но и любые папки, например, сетевые.

Внимание! Папка, куда складываются бэкапы за последний день (Путь к бэкапу) каждый день очищается!

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *