понедельник, 31 января 2011 г.

Архивирование информационных баз 1С:Предприятие

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

В любой компании должен существовать документ, описывающий процесс архивации данных. Такой документ должен освещать следующие вопросы:

1. Описание и расположение данных, которые нуждаются в архивации;
2. Описание способа, которым выполняется архивация данных;
3. Указание средств для организации архивации данных;
4. Указание места, куда будет производиться архивация;
5. Частота архивации (по каким дням, сколько раз в день, во сколько и т.д.)
6. Срок давности архивных копий;

Помимо такого документа системный администратор должен выделять время на проверку архивных копий. Время от времени необходимо проверять восстанавливаются ли архивные копии и читаются ли данные, содержащиеся в них. Нетрудно себе представить глупость ситуации, когда в час Икс архивные копии есть, но они окажутся повреждены.

Кроме того, важно поддерживать как минимум 2 хранилища данных для архивных копий:

1. Оперативное хранилище (жесткий диск компьютера, например, сервера, на который производятся архивные копии каждый день). Такое хранилище может содержать перезаписываемую историю архивных копий, например, за 2 недели.
2. Неоперативное хранилище (например, съемный жесткий диск или DVD-диск). Такое хранилище получает данные, например, раз в неделю. Физически носитель с информацией должен находиться вне офиса или, что не очень хорошо, в несгораемом шкафу (сейфе) в офисе. Такое хранилище страхует от аварий (затопление, пожары) и краж.

Перейдем непосредственно к рассмотрению способ архивирования.

1С:Предприятие 7.7

Архивирование по расписанию

Платформа 1С:Предприятие 7.7 содержит встроенные механизмы, которые позволяют делать выгрузки информационных баз с необходимыми нам параметрами.

Для работы с такими механизмами необходимо создать 2 файла:

MakeBackup.cmd
Config.ini

Содержимое MakeBackup.cmd (кодировка ASCII):

ECHO OFF
set dt= %date%

ECHO Start backup account's databases - %dt%
ECHO Start backup BUH
"C:\Program Files\1cv77\1cv7s.exe" CONFIG /D\\SERVERNAME\1SBASES\BUH\ /Nusername /@config.ini
REN D:\Backup\LOGs\backup.log %dt%_backup_BUH.log
REN D:\Backup\Unloads\backup.zip %dt%_backup_BUH.zip

ECHO End of backup account's databases - %dt%
ECHO

Содержимое Config.ini (кодировка CP1251):

[General]
Output=D:\Backup\LOGs\backup.log
Quit=1
UnloadData=1

[UnloadData]
UnloadToFile=D:\Backup\Unloads\backup.zip
IncludeUserDef=1
Password=p@ssw0rd

Небольшой комментарий:

Основная задача файла MakeBackup.cmd (а он и запускается по расписанию) состоит в том, чтобы инициировать запуск платформы в режиме конфигуратора (на что указывает CONFIG).

"C:\Program Files\1cv77\1cv7s.exe" CONFIG /D\\SERVERNAME\1SBASES\BUH\ /Nusername /@config.ini

Параметры:

config – Запуск конфигуратора
/D – Указание пути с информационной базой
/N – Имя пользователя
/P – пароль (если пользователь ИБ имеет пароль)
/@ – указание на файл настроек

Эта команда делает выгрузку ИБ по пути, указанному в файле config.ini. Наш файл Config.ini содержит наименее сложную структуру и содержит всего 2 раздела General и UnloadData.

Опции файла config.ini:

Output=D:\Backup\LOGs\backup.log – указание местонахождения лога выгрузки;
Quit=1 – указание на выход из конфигуратора после окончания выгрузки;
UnloadData=1 – указание на необходимость выгрузки данных;

UnloadToFile=D:\Backup\Unloads\backup.zip – указание местонахождения файла данных;
IncludeUserDef=1 – Указание на включение информации о пользователях;
Password=p@ssw0rd – указание пароля, которым будут защищен файл выгрузки.

Однако, можно заметить еще 2 команды в файле MakeBackup.cmd:

REN D:\Backup\LOGs\backup.log %dt%_backup_BUH.log
REN D:\Backup\Unloads\backup.zip %dt%_backup_BUH.zip

Эти команды переименовывают файл выгрузки и файл лога, прибавляя к нему название ИБ и текущей системной даты.

Такой способ выгрузки может использоваться для штатного сохранения данных. Однако будьте внимательны: например каталог ExtForms скопирован в архивную копию не будет. Подробнее о параметрах файла config.ini можно прочитать в желто-красных книжках, входящих в комплект поставки 1С:Предприятие.

Комментариев нет: