介绍
从 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$$
- 使用密码加密备份文件(v15.5 SP2 后才支持),例如:
- -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