CommuniGate Pro
 


 

Плагин резервного копирования для CommuniGate Pro.

Единица копирования (и восстановления) - аккаунт (учётная запись пользователя), а именно - директория пользователя, включающая файлы с почтой и настройками, и файлы из файлового хранилища. Резервное копирование остальных объектов данным Плагином не производится.

Плагин обеспечивает сбор данных, подлежащих резервному копированию; и осуществляет копирование вызовом утилиты командной строки из пакета "Кибер Бэкап"


Плагин состоит из двух частей: Диспетчера и Исполнителя.

Диспетчер: backup_daemon.sppr

Программа на языке CG/PL, исполняемая во внутренней среде CommuniGate Pro. Вызывается по расписанию; осуществляет обход аккаунтов и подготовку данных для резервного копирования; вызывает Исполнитель; мониторит результат работы Исполнителя.

Исполнитель: cyberBackup.pl

Программа на языке Perl, запускаемая как Помощник Приложений. Принимает данные от Диспетчера, производит копирование посредством вызова утилиты командной строки "Кибер Бэкап"; пишет результаты работы в журнал CommuniGate Pro. Может быть легко переделана для использования иных утилит резервного копирования.


Начальная настройка.

Обе части являются ПО с открытым исходным кодом, и имеют задаваемые пользователем переменные непосредственно в тексте программы.

cyberBackup.pl

my $backupLocation = "/backups";

Значение для параметра --loc у команды "Кибер Бэкап" - путь к хранилищу резервных клпий.

my $supplParams = "--silent_mode=on";

Дополнительные параметры для "Кибер Бэкап".

backup_daemon.sppr

const nThreads = 1;

При значении больше 1 приложение становится многопоточным и может выполнять несколько копирований параллельно. Однако, из-за внутренних ограничений максимальное число параллельных копирований не будет больше 3 (для версий CommuniGate Pro 6.3.5 и ранее)

const includeAll = true;
const backupAttribute = "";

Позволяет указывать отдельные аккаунты, которые нужно включать или не включать в резервное копирование. В backupAttribute прописывается имя Дополнительной Установки Пользователя, например "Backup".

Если в backupAttribute прописано непустое имя, то

  если includeAll равно true, то в копирование включаются все аккаунты, кроме тех, у которых значение Установки начинается с "N" (No).
  если includeAll равно false, то включаются только те аккаунты, у которых значение Установки начинается с "Y" (Yes).

Если backupAttribute пустой, то все аккаунты включаются в копирование.

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

  //res = ProcessAccount("user","company.com");
  //res = ProcessDomain("company.com");
    res = ProcessAllDomains();


Установка

Важно: В случае Динамического Кластера устанавливать нужно только на одном из Бэкендов.

В командной строке ОС:

Проверьте наличие утилиты cybercmd

  cybercmd list licenses

Проверьте наличие установленного языка Perl

  perl -V

На ОС типа Unix - сделайте cyberBackup.pl исполняемым

  chod +x cyberBackup.pl


В Адмнистративном Интерфейсе CommuniGate Pro

На странице Установки -> Общее -> Помощники, в панели "Помощники Приложений" создайте помощник с именем cyberBackup

Помощники Приложений        
 
Уровень Журнала: Путь к Программе:
Тайм-аут: Авторестарт:

Путь к Программе:

  ./cyberBackup.pl

или

  /usr/bin/perl cyberBackup.pl

или

  c:\perl64\bin\perl cyberBackup.pl

в зависимости от ОС.


На странице Пользователи -> PBX загрузите файл backup_daemon.sppr, проверьте его наличие в списке http://old.communigatepro.ru/CommuniGatePro/PBXApp.html#Editor.

Зайдите через telnet в интерфейс CLI от CommuniGate Pro и выпонните команду:

  UPDATESCHEDULEDTASK postmaster {id=CyberBackup;program=backup_daemon;period=day;when=#T25-02-2021_23:55:00;}

В параметре when нужно указать дату и время следующего запуска резервного копирования - желательно ближе к полуночи, когда активность пользователей минимальна.

Зайдите в настройки пользователя postmaster из главного домена, страницу "Состояние". В панели "Выполняемые по Расписанию Задачи" проверьте наличие задачи CyberBackup и правильность времени запуска.

После завершения процесса копирования зайдите в Наблюдение -> Журналы -> Сервер проверьте содержимое журнала с суффиксом "-CyberBackup"


Поддержка

Для связи с разработчиками пишите на support@old.communigatepro.ru.


CommuniGate Pro Guide. Copyright © 2021-2022, AO SBK