Автоматизация создания резервных копий БД 1С
Вот как-то возникла необходимость складывать ежедневные бэкапы БД 1С в формате DBF. Сами знаете, какой такой народ "бухгалтера", сегодня у них всё сходится, а завтра - это была ошибка. (прям как что-то по пьяни...) Естественно, такая весчь, как 1С 7.7 - инструмент жирный, в нём много чего реализовано, в том числе и создание резервных копий. Только вот один заманухис, толком создать бэкап можно только вручную, т.к. если пользователь работает, то файлы, которые резервируются, заняты. А что же тогда ночью, спросите Вы? Я Вам отвечу - количество умных людей намного больше не очень умных, а ещё и безответсвенных сюда в компашку - тогда не жизнь, а одна головная боль! Пользователь неправильно вышел из 1С, терминальная сессия так и висит на сервере, а то и несколько! Бэкапирование не завершено.
Есть такая тулза, именуемая в народе WinRAR. Так вот, она позволяет в командной строке создавать и управлять архивами. Для этого нужно всего-ничего - знать те ключи, которые нужны
Итак, схема и пример готовой, работающей команды:
схема
пример
Давайте теперь обглодаем косточки:
- Следует помнить, что командлайн форточек толком не поддерживает имена файлов/папок более 8-ми символов, соответственно, папка Program Files будет выглядеть "progra~1"
- Можно использовать системные переменные, можно создать свои. Об этом в следующей заметке
- Параметр a - добавить в архив. Добавить все файлы *.hlp в архив под названием help.
WinRAR a help *.hlp
- Ключ -ag[формат] Добавить к имени архива текущую дату и время. Формат +YYYYMMDD - поместить дату в формате ГГГГММДД до имени архива.
- Ключ -dh Открывать совместно используемые файлы. В этом-то и весь цимус этого скрипта. Тоесь, если файл используется, архиватор все равно делает его резервную копию на момент его последнего сохранения.
- Ключ -t Протестировать файлы после архивирования.
- Ключ -rr[N] Добавить информацию для восстановления. В нашем случае -rr10p означает, что мы добавим к архиву 10% от его объема.
Вот и получается, что мы архивируем БД, не смотря на то, что она может использоваться, добавляем информацию для восстановления, тестируем после архивации и называем датой создания + <имя файла>.
При написании заметки использовалась информация.
P.S. Единственное замечание: консоль виндовс не сильно дружит с русскими именами папок, можно научить, но не всегда это будет дружба в чистом виде, змечены подлянки Поэтому рекомендую папку, где лежит БД называть инглишом, Вам все равно, системе - легче.
- Войдите на сайт для отправки комментариев
- Версия для печати