Резервное копирование через BMWCLIENT
Назначение документа
В документе описаны возможности резеревного копирования почты, календарей, профилей пользователей и адресных книг. Резервное копирование выполняется через BMWCLIENT.
Документ нужен администраторам организации.
См. также: Резервное копирование Облака
Что такое BMWCLIENT?
BMWCLIENT — это клиент для выполнения запросов к gRPC API. Основные функции клиента: резервное копирование и восстановление почтового ящика, облака, календарей, профилей пользователей и адресных книг.
Шаг 1. Включите средства резервного копирования
Обычно продукт Средства резервного копирования включается при первичной установке. Чтобы проверить состояние продукта:
- Откройте веб-интерфейс устанощика
http://server-adress:8888
. - Нажмите на кнопку
в правом верхнем углу, выберите пункт Продукты.
-
Продукт Средства резервного копирования должен быть включен:
Если продукт выключен, то выполните следующие действия:
- Включите продукт Средства резервного копирования.
- Нажмите на кнопку Сохранить.
- Перейдите на главную страницу установщика.
- В случае установки Почты на 1 ВМ, можно сгенерировать контейнеры автоматически и запустить автоматическую установку. Если у вас кластерная Почта, то добавьте контейнеры вручную.
- Если зеленая кнопка Далее в правом верхнем углу отображается и активна, то донастройте параметры системы. Логика: «Cледуем за кнопкой Далее то тех пор, пока она активна».
- Когда зеленая кнопка Далее перестанет отображаться в верхнем углу страницы, можно запускать установку.
Шаг 2. Настройте сеть для доступа
Чтобы выполнять запросы к bmwclient, нужно добавить перечень IP и подсетей в веб-интерфейсе установщика:
-
Откройте веб-интерфейс установщика
http://server-adress:8888
. -
Перейдите на вкладку Настройки → Настройки компонентов → Ограничение доступа к доменам.
-
Затем кликните по домену
bmw.server-adress
и нажмите кнопку редактировать.
-
Включите опцию Ограничить доступ к домену.
-
Добавьте IP и подсети, под которыми разрешено обращаться к bmwclient'у. Чтобы разрешить всем IP и подсетям обращаться к bmwclient'у, добавьте IP-адрес
0.0.0.0/0
. По умолчанию доступ к доменуbmw.server-adress
запрещен всем IP/подсетям. -
Кликните по кнопке Сохранить.
-
Перейдите к списку машин и включите опцию «Не показывать завершённые».
-
Запустите следующие шаги:
Примечание
В случае моноинсталляции количество сервисов, для которых потребуется запуск шагов, будет отличаться.
Запросы к bmwclient'у можно будет выполнять, исходя из настроек IP и подсетей.
Шаг 3. Получите токен для выполнения запросов
- Перейдите на страницу
biz.<сompany_domain>
и авторизуйтесь в панели администратора. - Перейдите по URL-адресу
https://biz.<mail_domain>/oper/
-
В меню слева выберите пункт Токены, на странице нажмите Добавить.
-
В окне добавления токена укажите дату истечения действия токена (согласно вашим внутренним политикам компании), а также комментарий.
-
Нажмите Добавить. Отобразится окно со сгенерированным токеном.
Внимание
Обязательно скопируйте и сохраните значение в поле «Токен:», его можно увидеть только один раз в отображаемом окне.
Авторизационный токен передаётся при каждом запросе к bmwclient'у.
Шаг 4. Скачайте BMWCLIENT
- Перейдите на страницу
biz.<сompany_domain>
и авторизуйтесь в панели администратора. -
Перейдите по URL-адресу
https://biz.<mail_domain>/oper/
-
В меню слева выберите пункт Клиент и скачайте клиент, кликнув по bmwclient.
Работа с bmwclient'ом происходит в командной строке (терминале). По умолчанию клиент скачивается в папку «Загрузки»/«Downloads».
Запуск клиента для Windows
Чтобы начать работу с bmwclient'ом под ОС Windows, не требуется дополнительных настроек и действий, достаточно шагов, выполненных выше.
Запуск клиента для Linux
Чтобы начать работать с bmwclient под ОС Linux, в терминале, в директории с bmwclient'ом, нужно запустить следующую команду:
Запуск клиента для OS X
Чтобы начать работать с bmwclient под OS X, нужно выполнить следующие действия:
-
В терминале, в директории с bmwclient'ом, нужно запустить последовательно команды:
-
Кликните «Отменить» во всплывающем уведомлении:
-
Откройте «Системные настройки» и перейдите в раздел «Конфиденциальность и безопасность» на вашем компьютере.
-
Кликните по кнопке Все равно разрешить для приложения bmwclient:
-
В терминале снова запустите команду
./bmwclient -help
. -
Кликните «Открыть» во всплывающем уведомлении:
Возможности BMWCLIENT и примеры запросов
Для каждого запроса необходимо обязательно передавать следующий список полей:
- -server — доменное имя для запросов в BMWCLIENT, например bmw.on-premise.ru.
- -tls — использует ли сервер шифрование (https). Флаг принимает два значения: true или false. По умолчанию считается, что шифрование используется.
- -method — метод, который необходимо вызвать в gRPC API.
- -token — токен для авторизации запросов к gRPC API, полученный на шаге 3.
Общие запросы к BMWCLIENT
Получить список доступных доменов
Выполните следующую команду:
Пример запроса:
./bmwclient -server bmw.domain1.on-premise.ru \
-method domains -token JleaQ8dNU0UBX6oaugaWmJ12vaaFp9Sa
Результат:
[INFO]: 2023/09/20 14:46:01 backend address is: bmw.domain1.on-premise.ru:443,
method is: domains
[INFO]: 2023/09/20 14:46:02 wm2.on-premise.ru
[INFO]: 2023/09/20 14:46:02 wm3.on-premise.ru
[INFO]: 2023/09/20 14:46:02 wm1.on-premise.ru
[INFO]: 2023/09/20 14:46:02 wm.on-premise.ru
[INFO]: 2023/09/20 14:46:02 auto.on-premise.ru
[INFO]: 2023/09/20 14:46:02 auto2.on-premise.ru
Получить список пользователей в домене
Выполните следующую команду:
-domain — домен, по которому нужно вывести список пользователей.
Пример запроса:
./bmwclient -server bmw.domain1.on-premise.ru -method users \
-domain wm3.on-premise.ru -token JleaQ8dNU0UBX6oaugaWmJ12vaaFp9Sa
Результат:
[INFO]: 2023/09/20 14:48:23 backend address is: bmw.domain1.on-premise.ru:443,
method is: users
[INFO]: 2023/09/20 14:48:23 [Email:"3.3@wm3.on-premise.ru" RealName:"-"]
Примечание
Если в домене нет пользователей, результат выполнения запроса будет следующим:
Получить информацию о токене
Чтобы получить информацию о токене для авторизации запросов к gRPC API (-token), нужно выполнить следующую команду:
Пример запроса:
./bmwclient -server bmw.domain1.on-premise.ru -method tokenInfo \
-token JleaQ8dNU0UBX6oaugaWmJ12vaaFp9Sa
Результат:
[INFO]: 2023/09/20 18:16:19 backend address is: bmw.domain1.on-premise.ru:443,
method is: tokenInfo
[INFO]: 2023/09/20 18:16:20 uuid: 018ab1c0-91e3-774d-8005-1fd9b08b8f97
[INFO]: 2023/09/20 18:16:20 issued: 20 Sep 23 14:41 +0600
[INFO]: 2023/09/20 18:16:20 expires: 21 Sep 23 14:41 +0600
[INFO]: 2023/09/20 18:16:20 issuer: admin@admin.qdit
[INFO]: 2023/09/20 18:16:20 grants: 0
[INFO]: 2023/09/20 18:16:20 payload: {"comment":"for tests"}
Аналогичную информацию можно увидеть в интерфейсе администратора на странице «Бэкапы» → «Токены» или по адресу: https://biz.<mail_domain>/oper/backups/tokens
.
Получить информацию о версии API
Пример запроса:
Результат:
[INFO]: 2024/04/10 14:38:17 backend address is: bmw.wm1.on-premise.ru:443, method is: getVersion
[INFO]: 2024/04/10 14:38:18 server version: 3.9.6-8968244e, protocol version: 1.5
[INFO]: 2024/04/10 14:38:18 client version: 3.9.6-8968244e, protocol version: 1.5
Почта
Для каждого запроса необходимо обязательно передавать следующий список полей:
- -server — доменное имя для запросов в BMWCLIENT, например bmw.on-premise.ru.
- -tls — использует ли сервер шифрование (https). Флаг принимает два значения: true или false. По умолчанию считается, что шифрование используется.
- -method — метод, который необходимо вызвать в gRPC API.
- -token — токен для авторизации запросов к gRPC API, полученный на шаге 3.
Получить структуру почтового ящика
Выполните следующую команду:
-email — email адрес почтового ящика, для которого выполняется запрос структуры.
Пример запроса:
./bmwclient -server bmw.domain1.on-premise.ru -method mailboxStructure \
-domain wm2.on-premise.ru -token JleaQ8dNU0UBX6oaugaWmJ12vaaFp9Sa \
-email n.gruzdev@wm2.on-premise.ru
Результат:
./bmwclient -server bmw.domain1.on-premise.ru -method mailboxStructure \
-domain wm1.on-premise.ru -token GrhozHvEBAykHkNnNCjBfql2eEeiCaXq \
-email n.gruzdev@wm1.on-premise.ru
[INFO]: 2023/09/27 14:13:56 backend address is: bmw.domain1.on-premise.ru:443,
method is: mailboxStructure
[INFO]: 2023/09/27 14:13:59
[system:true type:"inbox" name:"Входящие" 6:18446744073709551615
system:true type:"sent" name:"Отправленные" 1:500000 6:18446744073709551615
system:true type:"drafts" name:"Черновики" 1:500001 6:18446744073709551615
system:true type:"spam" name:"Спам" 1:950 6:18446744073709551615
system:true type:"trash" name:"Корзина" 1:500002 6:18446744073709551615
system:true type:"deleted" name:"Удаленные" 1:500008 6:18446744073709551615]
Отрицательное значение в поле parent означает, что папка является корневой. Результат запроса отражает то, что видит пользователь в интерфейсе:
Создать папку в почтовом ящике
Выполните следующую команду:
./bmwclient -server bmw.%domain% -method createMailboxFolder \
-token %token% -email %email% -folderName %folderName% \
-parentFolderID %parentid% -folderid %folderid%
- -email — email адрес почтового ящика, в структуре которого создается папка.
- -folderName — название папки.
- -parentFolderID — цифровой ID родительской папки. Если значение не задано, то папка будет создана на верхнем уровне.
- -folderid — цифровой ID создаваемой папки, не должен совпадать с ID существующих директорий. При отрицательном значении будет сгенерирован автоматически.
Пример запроса:
//Предварительно запросим структуру почтового ящика,
//чтобы вычислить id папок для параметра -parentFolderID
./bmwclient -server bmw.domain1.on-premise.ru -method mailboxStructure \
-domain wm1.on-premise.ru -token GrhozHvEBAykHkNnNCjBfql2eEeiCaXq \
-email n.gruzdev@wm1.on-premise.ru
[INFO]: 2023/09/27 14:13:56 backend address is: bmw.domain1.on-premise.ru:443,
method is: mailboxStructure
[INFO]: 2023/09/27 14:13:59
[system:true type:"inbox" name:"Входящие" 6:18446744073709551615
system:true type:"sent" name:"Отправленные" 1:500000 6:18446744073709551615
system:true type:"drafts" name:"Черновики" 1:500001 6:18446744073709551615
system:true type:"spam" name:"Спам" 1:950 6:18446744073709551615
system:true type:"trash" name:"Корзина" 1:500002 6:18446744073709551615
system:true type:"deleted" name:"Удаленные" 1:500008 6:18446744073709551615]
//Создадим папку «Partners» в папке «Спам» (id = 950)
./bmwclient -server bmw.domain1.on-premise.ru -method createMailboxFolder \
-domain wm1.on-premise.ru -token GrhozHvEBAykHkNnNCjBfql2eEeiCaXq \
-email n.gruzdev@wm1.on-premise.ru -folderName Partners \
-parentFolderID 950 -folderid -1
Результат:
[INFO]: 2023/09/27 13:20:40 backend address is:
bmw.domain1.on-premise.ru:443, method is: createMailboxFolder
[INFO]: 2023/09/27 13:20:41 created folder id: 77777
Создать полную резервную копию ящика
Чтобы создать полную резервную копию почтового ящика и сохранить результат в директорию, нужно выполнить следующую команду:
./bmwclient -server bmw.%domain% -method fullBackup -token %token% \
-email %email% -endts %end_timestamp% -savePath backups -zip
- -email — email-адрес почтового ящика, для которого снимается резервная копия.
- -endts — дата и время, до которого необходимо выполнить резервную копию. Передается в формате UNIX timestamp. Значение по умолчанию: текущее время.
- -savePath — путь на диске, куда необходимо сохранить резервную копию почтового ящика.
- -byFolders — создать в структуре бэкапа дерево папок, аналогичное почтовому ящику. Без этого параметра на диск сохраняются только письма.
- -save — сохранить результат резервного копирования на диск в директорию, без сжатия.
- -zip — сжать в zip-архив результаты резервного копирования и сохранить на диск.
Флаги -save и -zip взаимоисключающие, их нельзя использовать вместе в одном запросе.
Пример запроса с параметрами -save и -byFolders:
./bmwclient -server bmw.domain1.on-premise.ru -method fullBackup \
-token JleaQ8dNU0UBX6oaugaWmJ12vaaFp9Sa -email n.gruzdev@wm2.on-premise.ru \
-save -savePath ./backups -byFolders -endts 1695212742
В примере, в параметре -savePath, указан путь относительно папки, в которой находится bmwclient.
Результат:
[INFO]: 2023/09/20 18:25:42 backend address is: bmw.domain1.on-premise.ru:443,
method is: fullBackup
[INFO]: 2023/09/20 18:25:42 save path is
backups/n.gruzdev@wm2.on-premise.ru-1695212742
[INFO]: 2023/09/20 18:25:43 total messages in mailbox: 1
Результат резервного копирования в папке backups/n.gruzdev@wm2.on-premise.ru-1695212742
.
Пример запроса с параметрами -zip и -byFolders:
./bmwclient -server bmw.domain1.on-premise.ru -method fullBackup \
-token JleaQ8dNU0UBX6oaugaWmJ12vaaFp9Sa -email n.gruzdev@wm2.on-premise.ru \
-zip -savePath ./backups -byFolders
Результат:
[INFO]: 2023/09/20 18:25:42 backend address is: bmw.domain1.on-premise.ru:443,
method is: fullBackup
[INFO]: 2023/09/20 18:25:42 save path is backups/
[INFO]: 2023/09/20 18:25:43 total messages in mailbox: 1
При комбинации параметров -zip и -byFolders в архиве сохраняются папки, в которых есть письма:
Создать инкрементную резервную копию ящика
Чтобы создать инкрементную резервную копию почтового ящика и сохранить результат в директорию, нужно выполнить следующую команду:
./bmwclient -server bmw.%domain% -method incrementalBackup \
-token %token% -email %email% -startts %start_timestamp% \
-endts %end_timestamp% -savePath result -zip
- -email — email-адрес почтового ящика, для которого снимается резервная копия.
- -startts — дата и время, от которого необходимо выполнить резервную копию. Передается в формате UNIX timestamp.
- -endts — дата и время, до которого необходимо выполнить резервную копию. Передается в формате UNIX timestamp. Значение по умолчанию: текущее время.
- -savePath — путь на диске, куда необходимо сохранить резервную копию почтового ящика.
- -byFolders — создать в структуре бэкапа дерево папок, аналогичное почтовому ящику. Без этого параметра на диск сохраняются только письма.
- -save — сохранить результат резервного копирования на диск в директорию, без сжатия.
- -zip — сжать в zip-архив результаты резервного копирования и сохранить на диск.
- -patchExist — применить изменения из инкрементальной копии к уже существующей копии. Работает только вместе с флагами -save и -byFolders. Если флаг активен, то будет изменён бэкап в директории -savePath
Флаги -save и -zip взаимоисключающие, их нельзя использовать вместе в одном запросе.
Пример запроса с параметром -patchExist:
// Например, сначала создадим полную резервную копию почтового ящика
// до временной точки 1695212712
./bmwclient -server bmw.domain1.on-premise.ru -method fullBackup \
-endts 1695212712 -token JleaQ8dNU0UBX6oaugaWmJ12vaaFp9Sa \
-email n.gruzdev@wm2.on-premise.ru -save -savePath ./backups -byFolders
[INFO]: 2023/09/20 18:25:42 backend address is: bmw.domain1.on-premise.ru:443,
method is: fullBackup
[INFO]: 2023/09/20 18:25:42
save path is backups/n.gruzdev@wm2.on-premise.ru-1695212742
[INFO]: 2023/09/20 18:25:43 total messages in mailbox: 1
// Теперь от временной точки 1695212712 выполним инкрементное
// резервное копирование
./bmwclient -server bmw.domain1.on-premise.ru -method incrementalBackup \
-startts 1695212712 -token JleaQ8dNU0UBX6oaugaWmJ12vaaFp9Sa \
-email n.gruzdev@wm2.on-premise.ru -save \
-savePath ./backups/n.gruzdev@wm2.on-premise.ru-1695212712 \
-patchExist -byFolders
Результат:
[INFO]: 2023/09/20 18:46:07 backend address is: bmw.domain1.on-premise.ru:443,
method is: incrementalBackup
[INFO]: 2023/09/20 18:46:08
save path is ./backups/n.gruzdev@wm2.on-premise.ru-1695212712
[INFO]: 2023/09/20 18:46:09 2
Восстановить почтовый ящик
Внимание
При восстановление почтового ящика его текущая версия полностью удаляется!
Перед восстановлением почтового ящика необходимо распаковать и сохранить в одну директорию результаты полного резервного копирования и инкрементальных копий. Затем нужно выполнить следующую команду:
./bmwclient -server bmw.%domain% -method restoreMailbox \
-token %token% -email %email% -readPath %backups_dir%
- -email — email-адрес почтового ящика, для которого выполняется восстановление.
- -readPath — папка, в которой находятся полные и инкрементальные копии. Если в данном параметре указан путь до zip-архива, он будет автоматически распакован в папку, указанную в параметре -extractPath.
- -exctractPath — папка, в которую будет распакован zip-архив с бэкапом. Если параметр не задан, произойдет распаковка в дочернюю папку.
Пример запроса:
./bmwclient -server bmw.domain1.on-premise.ru -method restoreMailbox \
-token JleaQ8dNU0UBX6oaugaWmJ12vaaFp9Sa -email n.gruzdev@wm2.on-premise.ru \
-readPath ./backups/n.gruzdev@wm2.on-premise.ru-1695212742
Результат:
[INFO]: 2023/09/21 10:19:09 backend address is: bmw.domain1.on-premise.ru:443,
method is: restoreMailbox
[INFO]: 2023/09/21 10:19:09
backups/n.gruzdev@wm2.on-premise.ru-1695212742\/xindex.main.xlogdb.1
[INFO]: 2023/09/21 10:19:12 got response from gRPC backend,
message: result:"restored"
Восстановить письмо в папку
Чтобы восстановить письмо в папку почтового ящика, нужно выполнить следующую команду:
./bmwclient -server bmw.%domain% -method restoreEml -token %token% \
-email %email% -folderid %folder ID% -lettername %letter name% \
-readPath %read_path%
- -email — email-адрeс почтового ящика, для которого выполняется процедура восстановления письма.
- -folderid — внутренний id папки, в которую необходимо восстановить письмо; id папок можно получить с помощью метода mailboxStructure; по умолчанию восстановление произойдет в папку «Входящие».
- -lettername — наименование eml-файла на диске.
- -readPath — путь до eml-файла на диске, то есть путь до файла, указанного в параметре -lettername.
Пример запроса:
./bmwclient -server bmw.domain1.on-premise.ru -method restoreEml \
-token JleaQ8dNU0UBX6oaugaWmJ12vaaFp9Sa -email n.gruzdev@wm2.on-premise.ru \
-lettername 16952131010821184043 -readPath ./backups
Результат:
[INFO]: 2023/09/20 19:00:46 backend address is: bmw.domain1.on-premise.ru:443,
method is: restoreEml
[INFO]: 2023/09/20 19:00:47 Email 16952131010821184043
restored successfully: 16952148481817229160
В этом примере письмо восстановится в папку «Входящие», так как параметр folderid не был передан.
Профили пользователей
Для каждого запроса необходимо обязательно передавать следующий список полей:
- -server — доменное имя для запросов в BMWCLIENT, например bmw.on-premise.ru.
- -tls — использует ли сервер шифрование (https). Флаг принимает два значения: true или false. По умолчанию считается, что шифрование используется.
- -method — метод, который необходимо вызвать в gRPC API.
- -token — токен для авторизации запросов к gRPC API, полученный на шаге 3.
Получить список пользователей, профили которых были изменены после указанного времени
Выполните следующую команду:
./bmwclient -method profileList -server bmw.%domain% \
-tls=false -token %token% -startts %start_timestamp%
-startts — дата и время изменения профилей пользователей. Передается в формате UNIX timestamp.
Пример запроса:
./bmwclient -method profileList -server bmw.wm1.on-premise.ru \
-startts 1633595513 -token 2gwwahxcdmAV6e5ArEtedsvp
Результат:
[INFO]: 2024/04/10 14:46:44 backend address is: bmw.wm1.on-premise.ru:443, method is: profileList
[INFO]: 2024/04/10 14:46:45 test_login_qdqm0ext@wm1.on-premise.ru, 1709155933
[INFO]: 2024/04/10 14:46:45 test_login_kjymg1yn@wm1.on-premise.ru, 1709155934
[INFO]: 2024/04/10 14:46:45 g.test@wm1.on-premise.ru, 1709204212
[INFO]: 2024/04/10 14:46:45 1slp_test@wm1.on-premise.ru, 1709207542
Создать резервную копию всех профилей пользователей, измененных после указанного времени
Выполните следующую команду:
./bmwclient -method profileDump -savePath %backups_dir% \
-server bmw.%domain% -startts %start_timestamp% \
-token %token% -zip
- -startts — дата и время, от которого необходимо выполнить резервную копию. Передается в формате UNIX timestamp.
- -savePath — путь на диске, куда необходимо сохранить резервную копию.
- -save — сохранить результат резервного копирования на диск в директорию, без сжатия.
- -zip — сжать в zip-архив результаты резервного копирования и сохранить на диск.
Флаги -save и -zip взаимоисключающие, их нельзя использовать вместе в одном запросе.
Пример запроса с флагом -zip:
./bmwclient -method profileDump -savePath ./result \
-server bmw.wm1.on-premise.ru -startts 1633595513 \
-token 2gwwahxcdmAe5ArEtedsvp -zip
Результат:
В папке ./result
появился архив profile-1712812676.zip
, в котором сохранены профили пользователей измененных после timestamp = 1633595513.
Создать резервную копию профиля пользователя
Выполните следующую команду:
./bmwclient -email %email% -method profileDumpByUser \
-savePath %backups_dir% -server bmw.%domain% -startts %start_timestamp% \
-token %token% -save
- -email — email-адрес почтового ящика, для которого снимается резервная копия.
- -startts — дата и время, от которого необходимо выполнить резервную копию. Передается в формате UNIX timestamp.
- -savePath — путь на диске, куда необходимо сохранить резервную копию.
- -save — сохранить результат резервного копирования в файл на диск.
Пример запроса:
./bmwclient -email test04@wm1.on-premise.ru -method profileDumpByUser \
-savePath ./result -server bmw.wm1.on-premise.ru -token 2gwwahxcdmAV6e5ArEtedsvp
Результат:
[INFO]: 2024/04/11 11:21:41 backend address is: bmw.wm1.on-premise.ru:443, method is: profileDumpByUser
В папке ./result
появился файл: test04@wm1.on-premise.ru-1712067245.profile
.
Восстановить профиль одного пользователя
Внимание
При восстановлении профиля пользователя его текущая версия полностью удаляется!
Выполните следующую команду:
./bmwclient -email %email% -method profileRestoreByUser \
-readPath %backups_file% -server bmw.%domain% \
-token %token%
- -email — email-адрес пользователя, для которого выполняется процедура восстановления.
- -readPath — путь до файла с резервной копией на вашем диске.
Пример запроса:
./bmwclient -email test04@wm1.on-premise.ru -method profileRestoreByUser \
-readPath ./result/test04@wm1.on-premise.ru-1712067245.profile \
-server bmw.wm1.on-premise.ru -token 2gwwahxcdmAV6TeQArEtedsvp
Результат:
[INFO]: 2024/04/11 11:27:18 backend address is: bmw.wm1.on-premise.ru:443, method is: profileRestoreByUser
Восстановить все профили пользователей из резервной копии
Внимание
При восстановлении профиля пользователя его текущая версия полностью удаляется!
Выполните следующую команду:
./bmwclient -method profileRestore -readPath %backups_file/dir%\
-server bmw.%domain% -token %token%
- -readPath — путь до файла или директории с резервной копией на вашем диске.
Пример запроса для резервной копии в архиве:
./bmwclient -method profileRestore -readPath ./result/profile-1712812675.zip \
-server bmw.wm1.on-premise.ru -token 2gwwahxcdmAnUe5ArEtedsvp
Результат:
[INFO]: 2024/04/11 11:33:29 backend address is: bmw.wm1.on-premise.ru:443, method is: profileRestore
[INFO]: 2024/04/11 11:33:29 restoring from file 'apet2806@ex.on-premise.ru-1712650718.profile'
[INFO]: 2024/04/11 11:33:30 <apet2806@ex.on-premise.ru> profile restored
[INFO]: 2024/04/11 11:33:30 restoring from file 'apet14090@ex.on-premise.ru-1712650690.profile'
[INFO]: 2024/04/11 11:33:30 <apet14090@ex.on-premise.ru> profile restored
[INFO]: 2024/04/11 11:33:30 restoring from file 'apet28063@ex.on-premise.ru-1712650708.profile'
[INFO]: 2024/04/11 11:33:30 <apet28063@ex.on-premise.ru> profile restored
[INFO]: 2024/04/11 11:33:30 restoring from file 'apet2707@ex.on-premise.ru-1712650684.profile'
[INFO]: 2024/04/11 11:33:30 <apet2707@ex.on-premise.ru> profile restored
Личные адресные книги
Для каждого запроса необходимо обязательно передавать следующий список полей:
- -server — доменное имя для запросов в BMWCLIENT, например bmw.on-premise.ru.
- -tls — использует ли сервер шифрование (https). Флаг принимает два значения: true или false. По умолчанию считается, что шифрование используется.
- -method — метод, который необходимо вызвать в gRPC API.
- -token — токен для авторизации запросов к gRPC API, полученный на шаге 3.
Получить список личных адресных книг, измененных после указанного времени
Выполните следующую команду:
./bmwclient -method personalABList -server bmw.%domain% -tls=false \
-token %token% -startts %start_timestamp%
-startts — дата и время изменения файлов у пользователей. Передается в формате UNIX timestamp.
Пример запроса:
./bmwclient -method personalABList -server bmw.wm1.on-premise.ru \
-startts 1633595513 -token 2gwwahxcdmAV6e5ArEtedsvp
Результат:
[INFO]: 2024/04/10 14:46:44 backend address is: bmw.wm1.on-premise.ru:443, method is: personalABList
[INFO]: 2024/04/10 14:46:45 test_login_qdqm0ext@wm1.on-premise.ru, 1709155933
[INFO]: 2024/04/10 14:46:45 test_login_kjymg1yn@wm1.on-premise.ru, 1709155934
[INFO]: 2024/04/10 14:46:45 g.test@wm1.on-premise.ru, 1709204212
[INFO]: 2024/04/10 14:46:45 1slp_test@wm1.on-premise.ru, 1709207542
Создать резервную копию всех личных адресных книг, измененных после указанного времени
Выполните следующую команду:
./bmwclient -domain %domain% -method personalABDump \
-savePath %backups_dir% -server bmw.%domain% -startts %start_timestamp% \
-token %token% -zip
- -startts — дата и время, от которого необходимо выполнить резервную копию. Передается в формате UNIX timestamp.
- -savePath — путь на диске, куда необходимо сохранить резервную копию.
- -save — сохранить результат резервного копирования на диск в директорию, без сжатия.
- -zip — сжать в zip-архив результаты резервного копирования и сохранить на диск.
Флаги -save и -zip взаимоисключающие, их нельзя использовать вместе в одном запросе.
Пример запроса с флагом -zip:
./bmwclient -method personalABDump -savePath ./result \
-server bmw.wm1.on-premise.ru -startts 1633595513 -token 2gwwahxcdmAV6tedsvp -zip
Результат:
[INFO]: 2024/04/11 11:37:59 backend address is: bmw.wm1.on-premise.ru:443, method is: personalABDump
В папке ./result
появился архив: personalab-1712813880.zip
.
Создать резервную копию личной адресной книги пользователя
Выполните следующую команду:
./bmwclient -email %email% -method personalABDumpByUser \
-savePath %backups_dir% -server bmw.%domain% -startts %start_timestamp% \
-token %token% -save
- -email — email-адрес пользователя, для которого снимается резервная копия.
- -startts — дата и время, от которого необходимо выполнить резервную копию. Передается в формате UNIX timestamp.
- -savePath — путь на диске, куда необходимо сохранить резервную копию.
- -save — сохранить результат резервного копирования на диск.
Пример запроса:
./bmwclient -email test04@wm1.on-premise.ru -method personalABDumpByUser \
-savePath ./result -server bmw.wm1.on-premise.ru -token 2gwwahxcdmAV6TeQ -save
Результат:
[INFO]: 2024/04/11 11:41:16 backend address is: bmw.wm1.on-premise.ru:443, method is: personalABDumpByUser
В папке ./result
появился файл: test04@wm1.on-premise.ru.personalab
.
Восстановить личную адресную книги одного пользователя
Внимание
При восстановление личной адресной книги её текущая версия полностью удаляется!
Выполните следующую команду:
./bmwclient -email %email% -method personalABRestoreByUser \
-readPath %backups_file% -server bmw.%domain% \
-token %token%
- -email — email адрeс почтового ящика, в который будет восстановлена адресная книга. Если не указан, то адресная книга будет восстановлена в email, полученный из названия файла.
- -readPath — путь до файла с резервной копией на вашем диске.
Пример запроса:
./bmwclient -email test04@wm1.on-premise.ru -method personalABRestoreByUser \
-readPath ./result/test04@wm1.on-premise.ru.personalab \
-server bmw.wm1.on-premise.ru -token 2gwwahxcdmAV
Результат:
[INFO]: 2024/04/11 11:48:18 backend address is: bmw.wm1.on-premise.ru:443, method is: personalABRestoreByUser
Восстановить все личные адресные книги из резервной копии
Внимание
При восстановление личной адресной книги её текущая версия полностью удаляется!
Выполните следующую команду:
./bmwclient -method personalABRestore -readPath %backups_dir/file%\
-server bmw.%domain% -token %token%
- -readPath — путь до файла или директории с резервной копией на вашем диске.
Пример запроса для резервной копии в архиве:
./bmwclient -method personalABRestore -readPath ./result/personalab-1712813889.zip \
-server bmw.wm1.on-premise.ru -token 2gwwahxcdmAV6TeQmG
Результат:
[INFO]: 2024/04/11 11:52:09 backend address is: bmw.wm1.on-premise.ru:443, method is: personalABRestore
[INFO]: 2024/04/11 11:52:10 restoring from file 'attest15@ex.on-premise.ru.personalab'
[INFO]: 2024/04/11 11:52:10 <attest15@ex.on-premise.ru> personal address book restored
[INFO]: 2024/04/11 11:52:10 restoring from file 'attest16@ex.on-premise.ru.personalab'
[INFO]: 2024/04/11 11:52:10 <attest16@ex.on-premise.ru> personal address book restored
[INFO]: 2024/04/11 11:52:10 restoring from file 'attest17@ex.on-premise.ru.personalab'
[INFO]: 2024/04/11 11:52:10 <attest17@ex.on-premise.ru> personal address book restored
[INFO]: 2024/04/11 11:52:10 restoring from file 'attest14@ex.on-premise.ru.personalab'
[INFO]: 2024/04/11 11:52:10 <attest14@ex.on-premise.ru> personal address book restored
Общие адресные книги
Для каждого запроса необходимо обязательно передавать следующий список полей:
- -server — доменное имя для запросов в BMWCLIENT, например bmw.on-premise.ru.
- -tls — использует ли сервер шифрование (https). Флаг принимает два значения: true или false. По умолчанию считается, что шифрование используется.
- -method — метод, который необходимо вызвать в gRPC API.
- -token — токен для авторизации запросов к gRPC API, полученный на шаге 3.
Получить список общих контактов, измененных после указанного времени
Выполните следующую команду:
./bmwclient -method commonABList -server bmw.%domain% -tls=false \
-token %token% -startts %start_timestamp%
-startts — дата и время изменения файлов у пользователей. Передается в формате UNIX timestamp.
Пример запроса:
./bmwclient -method commonABList -server bmw.wm1.on-premise.ru \
-startts 1633595513 -token 2gwwahxcdmAV6e5ArEtedsvp
Результат:
[INFO]: 2024/04/10 14:46:44 backend address is: bmw.wm1.on-premise.ru:443, method is: commonABList
[INFO]: 2024/04/10 14:46:45 test_login_qdqm0ext@wm1.on-premise.ru, 1709155933
[INFO]: 2024/04/10 14:46:45 test_login_kjymg1yn@wm1.on-premise.ru, 1709155934
[INFO]: 2024/04/10 14:46:45 g.test@wm1.on-premise.ru, 1709204212
[INFO]: 2024/04/10 14:46:45 1slp_test@wm1.on-premise.ru, 1709207542
Создать резервную копию всех общих контактов домена, измененных после указанного времени
Выполните следующую команду:
./bmwclient -domain %domain% -method commonABDump \
-savePath %backups_dir% -server bmw.%domain% -startts %start_timestamp% \
-token %token% -zip
- -startts — дата и время, от которого необходимо выполнить резервную копию. Передается в формате UNIX timestamp.
- -savePath — путь на диске, куда необходимо сохранить резервную копию.
- -save — сохранить результат резервного копирования на диск в директорию, без сжатия.
- -zip — сжать в zip-архив результаты резервного копирования и сохранить на диск.
Флаги -save и -zip взаимоисключающие, их нельзя использовать вместе в одном запросе.
Пример запроса с флагом -zip:
./bmwclient -domain wm1.on-premise.ru -method commonABDump -savePath ./result \
-server bmw.wm1.on-premise.ru -startts 1633595513 -token 2gwwahxcdmAtedsvp -zip
Результат:
В папке ./result
появился архив: commonab-wm1.on-premise.ru-1712814930.zip
.
Создать резервную копию одного контакта из общей адресной книги домена
Выполните следующую команду:
./bmwclient -domain %domain% -email %email% -method commonABDumpByUser \
-savePath %backups_dir% -server bmw.%domain% -startts %start_timestamp% \
-token %token% -save
- -email — email-адрес контакта из общей адресной книги.
- -startts — дата и время, от которого необходимо выполнить резервную копию. Передается в формате UNIX timestamp.
- -savePath — путь на диске, куда необходимо сохранить резервную копию.
- -save — сохранить файл с результатом резервного копирования на диск.
Пример запроса:
./bmwclient -domain wm1.on-premise.ru -email 123@wm1.on-premise.ru \
-method commonABDumpByUser -savePath ./result \
-server bmw.wm1.on-premise.ru -startts 1633595513 -token 2gwwahxcdmAtedsvp -save
Результат:
[INFO]: 2024/04/10 17:08:30 backend address is: bmw.wm1.on-premise.ru:443, method is: commonABDumpByUser
На диск сохраняется следующий файл: 123@wm1.on-premise.ru.commonab
.
Восстановить один контакт в общую адресную книгу домена
Выполните следующую команду:
./bmwclient -domain %domain% -email %email% -method commonABRestoreByUser \
-readPath %backups_file% -server bmw.%domain% \
-token %token%
- -email — основной email контакта. Если не указан, то адресная книга будет восстановлена в email, полученный из названия файла.
- -readPath — путь до файла с резервной копией на вашем диске.
Пример запроса:
./bmwclient -domain wm1.on-premise.ru -email 1234@wm1.on-premise.ru \
-method commonABRestoreByUser -readPath ./result/1234@wm1.on-premise.ru.commonab \
-server bmw.wm1.on-premise.ru -token 2gwwahxcdmAV6TeQm
Результат:
[INFO]: 2024/04/11 20:51:20 backend address is: bmw.wm1.on-premise.ru:443, method is: commonABRestoreByUser
Восстановить все контакты в общую адресную книгу домена
Выполните следующую команду:
./bmwclient -method commonABRestore -readPath %backups_dir/file% \
-server bmw.%domain% -token %token%
- -readPath — путь до файла или директории с резервной копией на вашем диске.
Пример запроса для резервной копии в архиве:
./bmwclient -domain wm1.on-premise.ru -method commonABRestore \
-readPath ./result/commonab-wm1.on-premise.ru-1712814930.zip \
-server bmw.wm1.on-premise.ru -token 2gwwahxcdmAV6TeQmG
Результат:
[INFO]: 2024/04/11 20:57:19 backend address is: bmw.wm1.on-premise.ru:443, method is: commonABRestore
[INFO]: 2024/04/11 20:57:20 restoring from file 'san@wm1.on-premise.ru.commonab'
[INFO]: 2024/04/11 20:57:20 got response from gRPC backend, message:
[INFO]: 2024/04/11 20:57:20 restoring from file 'stepan@wm1.on-premise.ru.commonab'
[INFO]: 2024/04/11 20:57:21 got response from gRPC backend, message:
[INFO]: 2024/04/11 20:57:21 restoring from file 'solovey@wm1.on-premise.ru.commonab'
[INFO]: 2024/04/11 20:57:21 got response from gRPC backend, message:
[INFO]: 2024/04/11 20:57:21 restoring from file 'rogov@wm1.on-premise.ru.commonab'
Календари
Для каждого запроса необходимо обязательно передавать следующий список полей:
- -server — доменное имя для запросов в BMWCLIENT, например bmw.on-premise.ru.
- -tls — использует ли сервер шифрование (https). Флаг принимает два значения: true или false. По умолчанию считается, что шифрование используется.
- -method — метод, который необходимо вызвать в gRPC API.
- -token — токен для авторизации запросов к gRPC API, полученный на шаге 3.
Получить список пользователей, календари которых были изменены после указанного времени
Выполните следующую команду:
./bmwclient -method calendarUsers -server bmw.%domain% \
-tls=false -token %token% -startts %start_timestamp%
-startts — дата и время изменения файлов у пользователей. Передается в формате UNIX timestamp.
Пример запроса:
./bmwclient -method calendarUsers -server bmw.wm1.on-premise.ru \
-startts 1633595513 -token 2gwwahxcdmAV6e5ArEtedsvp
Результат:
[INFO]: 2024/04/10 14:46:44 backend address is: bmw.wm1.on-premise.ru:443, method is: calendarUsers
[INFO]: 2024/04/10 14:46:45 test_login_qdqm0ext@wm1.on-premise.ru, 1709155933
[INFO]: 2024/04/10 14:46:45 test_login_kjymg1yn@wm1.on-premise.ru, 1709155934
[INFO]: 2024/04/10 14:46:45 g.test@wm1.on-premise.ru, 1709204212
[INFO]: 2024/04/10 14:46:45 1slp_test@wm1.on-premise.ru, 1709207542
Создать резервную копию всех календарей пользователя
Выполните следующую команду:
./bmwclient -email %email% -method calendarDumpByUser \
-savePath %backups_dir% -server bmw.%domain% -startts %start_timestamp% \
-token %token% -zip
- -email — email-адрес пользователя, для которого снимается резервная копия.
- -startts — дата и время, от которого необходимо выполнить резервную копию. Передается в формате UNIX timestamp.
- -savePath — путь на диске, куда необходимо сохранить резервную копию календаря.
- -save — сохранить результат резервного копирования на диск в директорию, без сжатия.
- -zip — сжать в zip-архив результаты резервного копирования и сохранить на диск.
Флаги -save и -zip взаимоисключающие, их нельзя использовать вместе в одном запросе.
Пример запроса с флагом -zip:
./bmwclient -email st_884@wm1.on-premise.ru -method calendarDumpByUser -savePath ./result \
-server bmw.wm1.on-premise.ru -startts 1633595513 -token 2gwwahxcd5ArEtedsvp -zip
Результат:
[INFO]: 2024/04/10 16:25:40 backend address is: bmw.wm1.on-premise.ru:443, method is: calendarDumpByUser
[INFO]: 2024/04/10 16:25:40 save path is result\calendar-st_884@wm1.on-premise.ru-1712744740.zip
Восстановить все календари пользователя
Выполните следующую команду:
./bmwclient -email %email% -method calendarRestoreByUser \
-readPath %backups_dir% -server bmw.%domain% -token %token%
Примечание
Имеющиеся события и календари пользователя не удаляются, восстановление происходит с дополнением имеющихся данных.
- -email — email-адрес пользователя, для которого производится восстановление.
- -readPath — путь до архива или папки с резервной копией календарей.
Пример запроса для архива с бэкапом:
./bmwclient -email st_884@wm1.on-premise.ru -method calendarRestoreByUser \
-readPath ./result/calendar-st_884@wm1.on-premise.ru-1712744740.zip \
-server bmw.wm1.on-premise.ru -token 2gwwahxcdmAV6TeQmGanUe5ArEtedsvp
Результат:
[INFO]: 2024/04/10 16:32:33 backend address is: bmw.wm1.on-premise.ru:443, method is: calendarRestoreByUser