Skip to content

日常维护 ​

一键安装的维护:cmsctl ​

一键安装的所有日常维护都用一个命令 cmsctl 完成,需要用 root 或 sudo 运行。

命令作用
sudo cmsctl status看程序、数据库、网页入口是否在运行,版本号、网站地址、证书状态、最近一次备份时间
sudo cmsctl backup备份
sudo cmsctl restore <备份文件>从备份恢复
sudo cmsctl upgrade <新版本安装包>升级
sudo cmsctl reset-password找回管理员口令
sudo cmsctl logs看程序最近的日志
sudo cmsctl uninstall卸载

同一时间只能做一项会改数据的操作;另一项正在进行时,会提示你稍后再试。

备份 ​

bash
sudo cmsctl backup
  • 生成一个文件,放在 /var/backups/cms/,文件名带版本号和时间。
  • 备份时网站照常运行,不用停。
  • 默认只保留最近 7 个,更早的自动删除(升级前自动做的备份另算)。

备份文件里有密钥

备份里包含数据库口令和网站的主密钥,谁拿到它都能还原出你的整个网站。请把备份复制到另一台机器保存好,不要转发给别人。只放在这台服务器上,服务器坏了备份也跟着没了。

从备份恢复 ​

bash
sudo cmsctl restore /var/backups/cms/备份文件名.tar.gz
  • 只能恢复本程序 backup 生成的文件,并且备份的版本要和当前安装的版本相同。版本不同时,先升级或换用对应版本的安装包。
  • 恢复会用备份覆盖当前全部网站数据,所以要你输入网站域名确认。
  • 覆盖之前会自动把当前数据再备份一次;恢复失败会自动回到恢复前的样子。

升级 ​

把新版本的 cms-<新版本>-linux-amd64.tar.gz 传到服务器(例如 /root/),不用解压,直接运行:

bash
sudo cmsctl upgrade /root/cms-0.1.11-linux-amd64.tar.gz
  • 先读一下新版本的发布说明,看有没有特别的升级须知。
  • 升级前会显示这次升级的说明;新版本的用户许可协议有变化时也会提醒你。确认后继续。
  • 升级前会自动备份。任何一步失败都会自动回滚到升级前的样子,网站还是原来那样,并告诉你失败在哪一步。
  • 程序不会自己检查或下载新版本,升级一律由你手动来做。

找回管理员口令 ​

bash
sudo cmsctl reset-password

按提示选管理员,输入新口令两次(直接回车会自动生成一个并显示一次)。会问你“是否同时关闭两步验证”,默认是——来找回口令的时候,多半验证器也找不到了。找回后,这个管理员原来所有的登录都会失效,需要用新口令重新登录。

卸载 ​

bash
sudo cmsctl uninstall
  • 卸载前会自动备份。
  • 问你要不要删除数据时,直接回车=只卸载程序、保留网站数据(数据库、内容、模板、媒体、密钥和备份都留着)。
  • 只有完整输入 删除全部数据 并再输入一次网站域名,才会永久删除数据库和全部网站数据。输入 y、yes 之类都按“保留”处理。备份文件无论如何都会留在 /var/backups/cms/。
  • 数据库软件和 Caddy 本身不会被卸载。

卸载后再装回来 ​

再运行一次安装命令即可:

bash
sudo sh /root/cms-0.1.10/install.sh
  • 卸载时保留了数据:不会再问三个问题,直接装回程序,接着用原来的数据和口令。如果这次安装包里的用户许可协议和你上次同意的不一样,会先让你输入 y 确认;输入别的会直接退出,不改动服务器。
  • 卸载时删除了数据:按全新安装来。想找回原来的网站,用和备份同一版本的安装包装好后,用 sudo cmsctl restore 恢复卸载前的那份备份。

1Panel 应用的维护 ​

备份与恢复 ​

用 1Panel 自带的应用备份和恢复。备份会带走所选的数据库和应用目录(里面有主密钥、媒体和模板)。

  • 建议在备份弹窗里填写「压缩密码」,备份内容会被加密。恢复时要输入同一个密码,密码丢了备份就打不开,请另外保存好。
  • 备份里有主密钥和数据库口令。 1Panel 把备份放在 /opt/1panel/backup/,这台服务器上的其他用户也能读到。请下载到安全的地方,不要转发,也不要给别人开服务器账号。
  • 在 1Panel 里恢复时,容器可能会先自动重启几次,日志里会出现“数据库是空的”或“已有别的表”之类的说明。这是在等数据库恢复完成,一般一分钟内会自己好;过了几分钟还没好,再看日志里写的原因。

升级 ​

  1. 先读新版本的发布说明,看是否包含数据库结构变更。
  2. 上传新版本的离线镜像 cms-image-<新版本>-linux-amd64.tar,用「容器 → 镜像 → 导入镜像」的文件夹图标导入。
  3. 上传新版本的 onepanel-cms-<新版本>.zip,同样解压到 /opt/1panel/resource/apps/local/,再点「同步本地应用」。
  4. 在已安装应用里点「升级」,勾选升级前备份,取消勾选「拉取镜像」。

升级后网站起不来

应用处在“异常”“重启中”等状态时,1Panel 会把「升级」和「备份」按钮都锁住,没法直接升级到修好的版本。这时请打开该应用的备份列表,选升级前那份备份恢复;等应用回到“已启动”,再升级。

另外,1Panel 的“升级失败自动回滚”只在容器启动失败时才会触发。容器启动了、之后数据库升级失败(容器反复重启),不会自动回滚:看容器日志里写的原因,再用升级前的备份恢复。

找回管理员口令 ​

  1. 在 1Panel 打开本应用主容器的「终端」;
  2. 用户填 0,选择「自定义」,命令只填 /opt/cms/reset-admin,点连接;
  3. 按提示选管理员、输入新口令;是否同时关闭两步验证默认选「是」。

镜像里没有 shell,选 /bin/sh 或 /bin/bash 是连不上的。

卸载 ​

用 1Panel 的卸载功能,是否同时删除数据由 1Panel 的选项决定。