Автоархивация в произвольный момент времени |
Рассмотрим метод автоматической архивации БД в произвольный момент времени. Этот метод позволяет создавать резервные копии БД в любой момент работы с программой СБиС++, не прерывая тем самым работу пользователей в сети. Для этого используется утилита Pervasive.SQL – "Butil", которая позволяет запускать и останавливать непрерывные операции, в нашем случае, с файлами базы данных, определёнными для архивации. Копия будет содержать непротиворечивое состояние базы данных на момент начала копирования. Все изменения, внесенные в базу в момент копирования, отражены в копии не будут. Путь к этой утилите прописывается непосредственно в командном файле для выполнения архивации БД (ниже приводится описание этого файла). При архивации модулей программы СБиС++ использование этой утилиты не требуется.
Не рекомендуем называть каталог с базой данных русскими именами. Могут возникать ошибки при вызове утилиты "Butil", при этом нельзя гарантировать безошибочное выполнение архивации.
Все нижесказанное выполняется только для операционных систем, начиная с MS Windows NT 4.0 и выше.
Файлы, необходимые для запуска архивации, находятся в каталоге "Обслуживание_базы_данных". При установке программы СБиС++ этот каталог будет располагаться в каталоге программы на сервере.
Для выполнения архивации необходимы следующие файлы:
• sbis_copy_db.bat - создание резервной копии базы данных;
• sbis_copy_mod.bat - создание резервной копии клиента СБиС++;
• sbis_update_backup.exe - утилита для удаления ненужных архивных копий;
• sbis_update_backup.ini - настроечный файл для sbis_update_backup.exe;
• 7za.exe – архиватор;
• blat\*.* - программа для отправки писем по email.
Последовательность действий, выполняемых при архивации, рассматривается при описании командных файлов sbis_copy_db.bat и sbis_copy_mod.bat.
Прежде, чем приступить к выполнению архивации, внимательно изучите файл "ReadMe.txt", который прилагается вместе с программами, и выполните необходимые рекомендации, изложенные в этом файле.
Программа архивации БД (sbis_copy_db.bat)
Данный скрипт должен запускаться обязательно(!) на сервере, иначе не будет работать заморозка базы данных. Вся информация о ходе выполнения архивации фиксируется в файле sbis_copy_db.log, который создаётся в каталоге, где лежит сам скрипт.
В процессе выполнения данного скрипта вызывается утилита sbis_update_backup.exe, которая занимается удалением ненужных архивов в каталоге с резервными копиями БД. Настройки для работы утилиты задаются в файле sbis_update_backup.ini, согласно которым и определяются ненужные архивы. Здесь же описан и вызов архиватора, который формирует копии БД в формате ".zip".
Программа архивации модулей (sbis_copy_mod.bat)
При архивации модулей, в отличие от предыдущей программы, использование утилиты "Butil" не требуется. Вся информация о ходе выполнения архивации фиксируется в файле sbis_copy_mod.log, который создается в каталоге где лежит и сам скрипт.
Для запуска программ архивации в любое назначенное время удобнее всего воспользоваться средствами операционной системы MS Windows, например, "Назначенные задания" (для англоязычной операц. системы – "Shedule Tasks") на панели управления.
Рис. 6-9 – Назначение задания автоархивации
• Создайте два задания: первое для выполнения архивации БД, второе для выполнения архивации модулей. При создании нового задания запустится мастер планирования заданий. Необходимо последовательно выполнить все действия мастера (задание периодичности, начало выполнения задания, указание пользователя, от имени которого будет выполняться задание и т.д.).
• После этого, в карточке задания необходимо прописать полный путь к программе архивации с указанием всех параметров, с которыми запускается эта программа:
Рис. 6-10 – Задание командного сценария архивации
• На вкладке "Расписание" проверьте и, если нужно, подкорректируйте расписание для выполнения задания. Напомним, что архивацию базы данных рекомендуется выполнять дважды в день, тем самым, задав два расписания для вызова задания:
Рис. 6-11 – Создание расписания для выполнения архивации
Выполнив правильно все необходимые действия, будет вызываться соответствующая программа архивации, согласно установленному в задании расписанию.