3CX 备份还原命令行

介绍

从 v15.5 SP1 起 3CX 就会包含备份还原命令行工具,Windows 和 Linux 都支持。这些命令行不依赖 3CX 管理控制台,可以用这些命令行创建脚本设置定时备份和还原功能。当在云上批量管理用户时,这个功能会非常有用。

BackupCmd

BackupCmd 命令行工具可以使用以下命令创建备份:

  • -l, –log=VALUE
    • 日志的文件名或者文件目录,比如:--log=/var/lib/3cxpbx/bak_cmd_run.log
  • -f, –file=VALUE
    • *备份压缩文件的文件名和目录,比如 --file=/home/pi/backups/backup.zip
  • -o, –options=VALUE
    • 备份内容选项:
    • ALL – 备份所有内容
    • 备份下列选项:
      • CH – 呼叫记录
      • LIC – License
      • FQDN – 系统的 FQDN
      • PROMPTS – 提示音
      • FW – 话机固件
      • REC – 录音
      • VM – 语音邮件
  • -pwd=Value
    • 使用密码加密备份文件(v15.5 SP2 后才支持),例如:--pwd=My_B@ckup_Pa$$
  • -h, –help
    • 显示帮助信息

注意事项

  • 带 * 号的是必备的选项
  • 已经存在的备份文件使用 -f 或者 –file 命令可以覆盖却不提示
  • 如果已经有存在的日志文件,使用 -l 或 -log 或添加到文件内容
  • 在使用带空格的 Value,文件名和路径时,需要用双引号
  • 确认指定的备份文件和日志路径在 Linux 下是可以被 “phonesystem” 用户写入的,Windows 下可以被用户执行

通用

使用--file 或 -f指定一个文件名

  • 这里的默认路径是 3CX 管理控制台中设置的位置,可以是本地路径,FTP 或谷歌盘比如-f=my-pbx_full_bak.zip
  • 完整文件名路径,覆盖已配置的位置并将备份文件存储在指定的路径中,例如-f=c:\backup\my-pbx_full_bak.zip

当使用了 --log 参数时

  • 日志会保存在当前目录比如:-l=bak_cmd.log -f=my-pbx_full_bak
  • 或者指定一个绝对路径:-l=c:\backup\bak_cmd.log -f=my-pbx_full_bak

Windows 的备份命令

使用管理员权限打开命令行窗口,输入命令:cd C:\Program Files\3CX Phone System\Bin

  • 显示帮助信息:BackupCmd.exe --help
  • 创建一个完整备份并创建一个日志:BackupCmd.exe --file=full_pbx_backup.zip --options=ALL --log=backup_cmd.log
  • 创建一个备份包含呼叫记录,license 和 FQDN,并创建日志:BackupCmd.exe --file=partial_pbx_backup.zip --options=CH,LIC,FQDN --log=backup_cmd.log

Linux 的备份命令

使用 sudo 命令切换到 phonesystem 用户:

  • 显示帮助信息 sudo -u phonesystem 3CXBackupCmd --help
  • 创建完整备份并保存日志 sudo -u phonesystem 3CXBackupCmd --file=full_pbx_backup.zip --options=ALL --log=/var/tmp/pbx-backup_cmd.log
  • 创建一个备份包含呼叫记录,license 和 FQDN,并创建日志 sudo -u phonesystem 3CXBackupCmd --file=full_pbx_backup.zip --options=CH,LIC,FQDN --log=/var/tmp/pbx-backup_cmd.log

RestoreCmd

RestoreCMD 工具的下列命令帮助你还原备份文件:

  • -l, –log=VALUE
    • 日志文件和目录
  • -f, –file=VALUE
    • *备份路径和文件名
  • -h, –help
    • 显示帮助信息
  • –pwd=Value
    • 给加密的文件解密(v15.5 SP2 后支持)
  • –failover
    • 使用该模式还原后服务不会启动

注意事项

  • 带 * 号的是必备的选项
  • 已经存在的备份文件使用 -f 或者 –file 命令可以覆盖却不提示
  • 如果已经有存在的日志文件,使用 -l 或 -log 或添加到文件内容
  • 在使用带空格的 Value,文件名和路径时,需要用双引号
  • 确认指定的备份文件和日志路径在 Linux 下是可以被 “phonesystem” 用户写入的,Windows 下可以被用户执行

通用

使用 --file 或 -f 指定文件名:

  • 从管理控制台设置的本地路径,FTP 或谷歌盘查找文件名,例如:-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 参数时:

  • 从当前目录还原文件:-l=bak_cmd.log -f=my-pbx_full_bak
  • 从完整路径还原:-l=c:\backup\bak_cmd.log -f=my-pbx_full_bak

Windows 的还原命令

使用管理员权限打开命令行窗口,输入命令:cd C:\Program Files\3CX Phone System\Bin

  • 显示帮助 RestoreCmd.exe --help
  • 还原一个备份并在还原后马上启动服务 RestoreCmd.exe --file=full_pbx_backup.zip --log=restore_cmd.log
  • 还原一个备份并让 3CX 的服务处于停止状态(Passive 状态)RestoreCmd.exe --file=full_pbx_backup.zip --log=restore_cmd.log --failover

Linux 的还原命令

使用 sudo 切换到 phonesystem 用户:

  • 显示帮助 sudo -u phonesystem 3CXRestoreCmd --help
  • 还原一个备份并在还原后马上启动服务 sudo -u phonesystem 3CXRestoreCmd --file=full_pbx_backup.zip --log=restore_cmd.log
  • 还原一个备份并让 3CX 的服务处于停止状态(Passive 状态) sudo -u phonesystem 3CXRestoreCmd --file=full_pbx_backup.zip --log=restore_cmd.log --failover