Добавить в корзинуПозвонить
Найти в Дзене

Создание и управление файлами бэкапа 3CX через CLI

В корпоративных IT-системах резервное копирование — это не просто формальность, а реальная подстраховка на случай, когда что-то пойдет не так. Особенно чувствительно это для VoIP-телефонии. В корпоративной среде связь — рабочий инструмент, без которого процессы быстро встают: звонки не идут, клиенты не дозваниваются, сотрудники теряют время. Возьмем, например, сервер с IP-АТС 3CX. Если он выйдет из строя или что-то случится с настройками, без резервной копии восстановление может занять часы или даже дни — со стрессом и ручной пересборкой конфигурации. А с актуальным бэкапом это — уже совсем другая история: подняли систему — и "поехали дальше". 3CX позволяет создавать и восстанавливать резервные копии не только через веб-интерфейс, но и через командную строку (CLI). Это удобно для автоматизации, скриптов и сценариев аварийного восстановления. В этой статье разберем, как работать с резервным копированием и восстановлением 3CX через командную строку, какие опции доступны и как это можно и
Оглавление

В корпоративных IT-системах резервное копирование — это не просто формальность, а реальная подстраховка на случай, когда что-то пойдет не так. Особенно чувствительно это для VoIP-телефонии. В корпоративной среде связь — рабочий инструмент, без которого процессы быстро встают: звонки не идут, клиенты не дозваниваются, сотрудники теряют время.

Возьмем, например, сервер с IP-АТС 3CX. Если он выйдет из строя или что-то случится с настройками, без резервной копии восстановление может занять часы или даже дни — со стрессом и ручной пересборкой конфигурации. А с актуальным бэкапом это — уже совсем другая история: подняли систему — и "поехали дальше".

3CX позволяет создавать и восстанавливать резервные копии не только через веб-интерфейс, но и через командную строку (CLI). Это удобно для автоматизации, скриптов и сценариев аварийного восстановления.

В этой статье разберем, как работать с резервным копированием и восстановлением 3CX через командную строку, какие опции доступны и как это можно использовать для практических задач.

Почему важно резервное копирование в 3CX?

IP-АТС 3CX хранит всю конфигурацию телефонии:

  • SIP-транки;
  • внутренние номера;
  • правила маршрутизации;
  • IVR и очереди;
  • записи разговоров;
  • голосовую почту;
  • лицензии;
  • FQDN и сертификаты.

Если эти данные потеряются, возможны:

  • полный простой телефонии;
  • необходимость настраивать систему заново;
  • потеря записей разговоров.

Восстановление обычно требуется при:

  • сбое сервера;
  • ошибке администратора;
  • неудачном обновлении;
  • переносе системы на новый сервер или в облако.

Что такое BackupCmd и RestoreCmd?

В 3CX доступны 2 ключевые утилиты командной строки: BackupCmd и RestoreCmd. Это встроенные инструменты, которые позволяют управлять резервным копированием без веб-интерфейса. Они особенно полезны для:

  • DevOps-подхода к телефонии;
  • CI/CD-процессов;
  • автоматического развертывания;
  • сценариев Failover.

Фактически, это “низкоуровневый” способ управлять тем же механизмом, который используется через GUI.

Команда BackupCmd

Инструмент командной строки BackupCmd позволяет создавать резервные копии системы с использованием различных параметров.

Параметры команды

-l, --log=VALUE
Указывает имя файла журнала или полный путь к нему.
Пример: --log=/var/lib/3cxpbx/bak_cmd_run.log

-f, --file=VALUE
Указывает имя файла резервной копии в стандартной директории backup или полный путь к ZIP-архиву.
Пример: --file=/home/pi/backups/backup.zip

-o, --options=VALUE
Позволяет указать, какие данные должны быть включены в резервную копию.
ALL Включить все данные
Или указать отдельные параметры через запятую:
CH История звонков
LIC Лицензия
FQDN Доменное имя системы
PROMPTS Голосовые подсказки
FW Прошивки IP-телефонов
REC Записи разговоров
VM Голосовая почта

-pwd=VALUE
Позволяет зашифровать файл резервной копии паролем (доступно, начиная с версии V15.5 SP2).
Пример: --pwd=MyB4ckup_Pa55

-h, --help
Отображает список доступных параметров команды.

--noemail
Отключает отправку уведомления по e-mail после завершения резервного копирования независимо от результата операции.

Примечания

  • Если указанный файл резервной копии уже существует, он будет перезаписан без предупреждения.
  • Если указанный файл журнала уже существует, новые записи будут добавлены в конец файла.
  • Использование пробелов в именах файлов и путях не рекомендуется. Если пробелы используются, путь необходимо заключать в двойные кавычки.
  • На Linux указанные файлы должны быть доступны для записи пользователю phonesystem.
  • На Windows доступ на запись должен иметь пользователь, выполняющий команду.

Общие правила указания файлов

Параметр --file или -f может быть указан 2 способами.

1. Только имя файла
В этом случае резервная копия будет сохранена в директории backup, указанной в Management Console.
BackupCmd -f=my-pbx_full_bak.zip

2. Полный путь к файлу
В этом случае файл будет сохранен в указанной директории.
BackupCmd -f=c:\backup\my-pbx_full_bak.zip

Параметры логирования

При использовании параметра --log необходимо указать место сохранения файла журнала.

1. Имя файла журнала
Если указать только имя файла, журнал будет сохранен в текущей рабочей директории.
Пример: BackupCmd -l=bak_cmd.log -f=my-pbx_full_bak
Файл bak_cmd.log будет создан в текущей папке.

2. Полный путь к файлу журнала
Можно указать полный путь для сохранения лог-файла.
Пример: BackupCmd -l=c:\backup\bak_cmd.log -f=my-pbx_full_bak
В этом случае лог будет сохранен в папке: C:\backup\

Использование команды резервного копирования в Linux

Для выполнения команды в ОС Linux необходимо использовать пользователя phonesystem через sudo.

sudo -u phonesystem 3CXBackupCmd –help

Данная команда показывает все доступные параметры резервного копирования.

Инструкция по созданию полной резервной копии без лицензии и FQDN для Linux

Шаг 1. Необходимо перейти в виртуальную машину, где установлена система 3СХ, и открыть консоль.

Необходимо ввести учетную запись root. Если пароль не менялся, root/password будут стандартные. При вводе пароля интерфейс не отображает введенные символы.

Шаг 2. После авторизации в CLI необходимо перейти в любую директорию.

cd /var/tmp/

-2

Шаг 3. Введите команду.

sudo -u phonesystem 3CXBackupCmd --file=/tmp/backup.zip --options=CH,PROMPTS,FW,REC,VM --log=/tmp/backup.log

-3

Если все сделано правильно, CLI понадобится некоторое время на обработку информации. Когда появится новое сообщение, это значит, что резервное копирование завершено.

-4

Шаг 4. Проверьте директорию. Вы увидите 2 файла: backup.zip и backup.log. Перенесите их на свой компьютер в любую удобную папку.

-5

Итак, вы создали и скачали полный бэкап 3СХ без лицензионного ключа и FQDN. Этот файл необходим для нового развертывания системы 3СХ.

Инструкция по созданию полной резервной копии без лицензии и FQDN для Windows

Шаг 1. Откройте консоль от имени администратора.

-6

Шаг 2. После открытия CLI необходимо перейти в директорию 3CX Phone System\Bin.

cd C:\Program Files\3CX Phone System\Bin

-7

Шаг 3. Введите команду.

BackupCmd.exe --file=C:\backup\full_pbx_backup.zip --options=CH,PROMPTS,FW,REC,VM --log=C:\backup\backup_cmd.log

-8

Если все сделано правильно, CLI понадобится некоторое время на обработку информации. Когда появится новое сообщение, это значит, что резервное копирование завершено.

-9

Проверьте директорию, которая указана на Шаге 3. Вы увидите 2 файла: full_pbx_backup.zip и backup_cmd.log.

Итак, вы создали и скачали полный бэкап 3СХ без лицензионного ключа и FQDN. Этот файл необходим для нового развертывания системы 3СХ.

Команда RestoreCmd: синтаксис и особенности

RestoreCmd используется для восстановления системы из архива.

Параметры

-l, --log=VALUE Путь к файлу журнала (лог-файл)
-f, --file=VALUE *Путь или имя файла резервной копии для восстановления
-h, --help Показать справку по команде
--pwd=VALUE Расшифровать резервную копию с указанным паролем (начиная с версии V15.5 SP2)
--failover Режим отказоустойчивости (Failover mode) — после восстановления службы не запускаются (для пассивного узла failover)

Примечания

  • Обязательные параметры отмечены символом *.
  • Если указать существующий лог-файл через -l или --log, запись будет добавляться в него.
  • Использование пробелов в именах файлов и путях не рекомендуется. Если пробелы используются, путь необходимо заключать в двойные кавычки.
  • Убедитесь, что:в Linux — путь к лог-файлу доступен для записи пользователю phonesystem;
    в Windows — путь к лог-файлу доступен пользователю, который выполняет команду.

Общие сведения

При использовании параметра --file (-f):

  • Если указано только имя файла, резервная копия будет взята из директории, настроенной в Management Console:
    RestoreCmd -f=my-pbx_full_bak.zip -l=c:\backup\restore_cmd.log
  • Если указан полный путь к файлу, используется именно этот путь, игнорируя настройки:
    RestoreCmd -f=c:\backup\my-pbx_full_bak.zip -l=c:\backup\restore_cmd.log

При использовании параметра --log после --log нужно указать:

  • имя файла (лог будет создан в текущей директории):
    BackupCmd -l=bak_cmd.log -f=my-pbx_full_bak
  • полный путь к файлу:
    BackupCmd -l=c:\backup\bak_cmd.log -f=my-pbx_full_bak

Важно: путь должен быть доступен для записи:

  • в Linux — пользователю phonesystem;
  • в Windows — пользователю, от имени которого выполняется команда.

Восстановление в Windows

1. Откройте командную строку с правами администратора.

2. Перейдите в каталог:
cd C:\Program Files\3CX Phone System\Bin

Примеры команд

  • Показать справку:
    RestoreCmd.exe --help
  • Восстановить резервную копию и сразу запустить службы 3CX:
    RestoreCmd.exe --file=pbx_backup.zip --log=restore_cmd.log
  • Восстановить в режиме failover (службы не запускаются):
    RestoreCmd.exe --file=pbx_backup.zip --log=restore_cmd.log --failover

Восстановление в Linux

Выполняйте команды в терминале от имени пользователя phonesystem через sudo.

Примеры команд

  • Показать справку:
    sudo -u phonesystem 3CXRestoreCmd --help
  • Восстановить резервную копию и запустить службы:
    sudo -u phonesystem 3CXRestoreCmd --file=pbx_backup.zip --log=restore_cmd.log
  • Восстановить в режиме failover:
    sudo -u phonesystem 3CXRestoreCmd --file=pbx_backup.zip --log=restore_cmd.log --failover

Заключение

Резервное копирование в 3CX — не просто формальность, а настоящая страховка для корпоративной телефонии. С помощью BackupCmd и RestoreCmd можно управлять бэкапами и восстановлением прямо через командную строку, что удобно для автоматизации и быстрого реагирования в сложных ситуациях.

Особенно удобно использовать резервную копию без FQDN и лицензии — тогда ее можно сразу развернуть на другом сервере 3CX и начать работу без ошибок, связанных с привязкой лицензии или доменного имени. Это экономит время при миграции, аварийном восстановлении или переносе системы.

Регулярные бэкапы и понимание, как правильно их создавать и восстанавливать, позволяют минимизировать риски простоя, не терять важные записи и настройки, и просто "спать спокойно", зная, что система легко восстанавливается.

Умелое использование этих инструментов делает телефонную систему надежной, гибкой и удобной в управлении даже в случае непредвиденных обстоятельств.