Описание настроек сервера резервного копирования БД SQLite dbBackup.json

Описание

Сервер резервного копирования запускается в отдельном потоке и предназначен для выполнения копирования баз данных SQLite. Можно указать несколько баз данных для резервного копирования. В момент копирования база может использоваться в том числе и для записи данных. Копия базы данных будет всегда консистентной. Резервное копирование выполняется c помощью утилиты sqlite командой .clone. Перед началом резервного копирования устанавливается параметр PRAGMA temp_store_directory = "<backupPath>", который указывает в каталог для сохранения копии базы данных (настройка backupPath).

Имеет смысл копировать базу данных с конфигурацией ALEPIZ - DB/db.db и базу данных для хранения произошедших событий DB/events.db. Историческую базу данных DB/history.db лучше резервировать с помощью встроенной в сервер истории системы репликации, т.к. при большом объеме данных создание резервной копии требует высокой дисковой производительности и наличия достаточного для хранения 30 резервных копий свободного дискового пространства.

Резервное копирование запускается каждый час. Имя файла часовой копии формируется как h<hour>_<dbName>, где <hour> - текущий час в 24 часовом формате. Таким образом хранятся ежечасные копии баз данных за сутки. В 00:00 часов создается копия с именем dw<dayOfWeek>_<dbName>, где <dayOfWeek> - номер текущего дня недели от 0 (воскресенье) до 6 (суббота). Это позволяет хранить недельные резервные копии. <dbName> - это имя файла копируемой базы данных из настройки dbFile. В каждый момент времени будет хранится 30 различных копий каждой базы данных, для которой настроено резервное копирование.

Настройки

  • disable - (true|false) с помощью этой настройки можно отключить сервер резервного копирования. Каждые три минуты сервер будет проверять эту настройку и при ее изменении - включится. По умолчанию false.
  • sqlite - относительный путь до исполняемого файла sqlite, который используется для создания резервных копий, например utils\\sqlite3.exe
  • db - объект, описывающий какие базы данных необходимо копировать. Можно настроить копирование нескольких баз данных.
    • disable - (true|false) с помощью этой настройки можно отключить резервное копирование для определенной базы данных. По умолчанию false.
    • dbPath - относительный путь до базы данных. Например, DB
    • dbFile - имя файла базы данных, которую необходимо копировать. Например, db.db.
    • backupPath - относительный или полный путь до каталога, где будут хранится резервные копии баз данных. Например, \\\\ALEPIZ-BCP\\d$\\ALEPIZ\\DB
    • timeout - время ожидания выполнения резервного копирования базы данных в миллисекундах до прерывания процесса. По умолчанию 0 - бесконечно. Например, 3600000