Автоматизация создания резервных копий БД 1С

27.10.2010 - 07:21

Вот как-то возникла необходимость складывать ежедневные бэкапы БД 1С в формате DBF. Сами знаете, какой такой народ "бухгалтера", сегодня у них всё сходится, а завтра - это была ошибка. (прям как что-то по пьяни...) Естественно, такая весчь, как 1С 7.7 - инструмент жирный, в нём много чего реализовано, в том числе и создание резервных копий. Только вот один заманухис, толком создать бэкап можно только вручную, т.к. если пользователь работает, то файлы, которые резервируются, заняты. А что же тогда ночью, спросите Вы? Я Вам отвечу - количество умных людей намного больше не очень умных, а ещё и безответсвенных сюда в компашку - тогда не жизнь, а одна головная боль! Пользователь неправильно вышел из 1С, терминальная сессия так и висит на сервере, а то и несколько! Бэкапирование не завершено.
Есть такая тулза, именуемая в народе WinRAR. Так вот, она позволяет в командной строке создавать и управлять архивами. Для этого нужно всего-ничего - знать те ключи, которые нужны Winking
Итак, схема и пример готовой, работающей команды:
схема

WinRAR.exe [ключи] [адрес куда положить архив] [адрес папки/файла для упаковки]

пример
c:\progra~1\winrar a -ag+YYYYMMDD -dh -t -rr10p d:\BackUp\_BackUp.rar e:\base

Давайте теперь обглодаем косточки:

  1. Следует помнить, что командлайн форточек толком не поддерживает имена файлов/папок более 8-ми символов, соответственно, папка Program Files будет выглядеть "progra~1"
  2. Можно использовать системные переменные, можно создать свои. Об этом в следующей заметке Winking
  3. Параметр a - добавить в архив. Добавить все файлы *.hlp в архив под названием help.
    WinRAR a help *.hlp
  4. Ключ -ag[формат] Добавить к имени архива текущую дату и время. Формат +YYYYMMDD - поместить дату в формате ГГГГММДД до имени архива.
  5. Ключ -dh Открывать совместно используемые файлы. В этом-то и весь цимус этого скрипта. Тоесь, если файл используется, архиватор все равно делает его резервную копию на момент его последнего сохранения.
  6. Ключ -t Протестировать файлы после архивирования.
  7. Ключ -rr[N] Добавить информацию для восстановления. В нашем случае -rr10p означает, что мы добавим к архиву 10% от его объема.

Вот и получается, что мы архивируем БД, не смотря на то, что она может использоваться, добавляем информацию для восстановления, тестируем после архивации и называем датой создания + <имя файла>.

При написании заметки использовалась информация.

P.S. Единственное замечание: консоль виндовс не сильно дружит с русскими именами папок, можно научить, но не всегда это будет дружба в чистом виде, змечены подлянки Happy Поэтому рекомендую папку, где лежит БД называть инглишом, Вам все равно, системе - легче.

Ваша оценка: Нет Средняя: 3.8 (4 голосов)