跳转到内容

备份与恢复

nSIM 的全部设置、短信和通话记录都在一个数据库里。按这一页定期备份,主机坏了或误删了东西时,可以从备份包恢复。

备份包含数据库、配置文件和彩信附件。设了备份口令时,还包含可视语音信箱。通话录音、日志和各种下载缓存不在备份里。

  1. 打开「设置 › 数据与备份」。
  2. 可选:要加密备份包,在「备份口令」里填一个口令。
  3. 在「导出备份」一行点「导出」。浏览器会下载一个 nsim-backup-<日期>-<时间>.tar.gz 文件,加密的以 .tar.gz.age 结尾。

备份包里有登录口令、全部短信和两步验证的密钥,拿到它就等于拿到整个账号。要拷离这台主机,就加密。加密包是标准的 age 格式,没有 nSIM 也能用 age -d 解开。口令丢了,加密包就打不开。

  1. 在配置文件里加上这一段:

    backup:
    enabled: true
    interval_hours: 24
    keep: 7
    dir: data/backups
    passphrase: "换成一个长口令"

    每隔 interval_hours 小时备份一次,目录里只保留最近 keep 份。passphrase 留空则不加密。

  2. 重启 nSIM。

nSIM 会在启动一个间隔之后做第一份备份,日志里会出现「自动备份完成」。想马上有一份,先手动导出。

备份和数据库在同一块盘上时,防不住硬盘损坏。把 dir 指到另一块盘或网络存储,或者定期把这个目录同步走。用 Docker 时,dir 是容器里的路径,那块盘也要挂进容器。

  1. 打开「设置 › 数据与备份」。备份包是加密的,先在「备份口令」里填入当时的口令。
  2. 在「从备份恢复」里点「选择文件」,选中备份包,再点「上传并校验」。 校验通过后,这里会显示这份备份的时间和包里的内容。这一步还没有改动任何数据。
  3. 点「恢复并重启」。在确认框里输入「恢复」,再点「恢复」。 页面显示「正在恢复并重启」,期间暂时无法访问。

完成后,页面提示「已恢复,服务已重启」,短信和设置回到备份时的样子。

手动导出的备份不含通话录音。要整机迁移或保留录音时,停机后把配置和数据目录整个打包:

终端窗口
cd /opt/nsim
docker compose stop
tar czf /root/nsim-full-backup.tar.gz config data
docker compose start

一定要先停机再打包。运行中直接复制数据库文件,拷出来的数据库可能无法使用。用这种包恢复时,同样先停机,再把 config 和 data 两个目录整个换回去。