先停写并确认
sudo systemctl stop nezha-dashboard sudo sqlite3 /opt/nezha/dashboard/data/sqlite.db \ "SELECT COUNT(*), MIN(created_at), MAX(created_at) FROM service_histories;"
TSDB 未配置时,历史表仍在 SQLite 中;时间字段单位应先通过查询确认。
从只读巡检开始,再做有边界的变更。删除历史或压缩数据库前,先确认服务状态和目标文件。
df -hT / du -xhd1 /root /var/www /opt 2>/dev/null | sort -h sudo systemctl --failed sudo ss -lntup docker system df
判断顺序:先看根分区和增长最快的目录,再看失败单元、监听端口和容器空间。日志、视频分片和 Docker overlay 通常比 Nezha SQLite 更值得优先检查。
| 位置 | 当前现象 | 安全动作 |
|---|---|---|
/root/new-api/logs | 约 130 MB,存在较大的应用日志 | 先确认日志策略,再归档或按日期截断 |
/var/www/html/hls_test | 约 184 MB 的视频分片 | 确认播放任务结束后再清理 |
/root/sub2api-deploy/postgres_data | 约 185 MB | 使用数据库或 Compose 维护,不删目录 |
/root/.cli-proxy-api/logs | 约 30 MB,文件日志总量未设上限 | 增加轮转策略或定期检查 |
/var/lib/docker | 约 1.6 GB,镜像/overlay 为主 | 先用 docker system df,确认后再 prune |
会丢失历史图表:下面的全量 DELETE 只适用于已经确认不需要 ping 历史的场景。它不会删除服务器、用户等配置,但会删除 service_histories 中的历史记录。
sudo systemctl stop nezha-dashboard sudo sqlite3 /opt/nezha/dashboard/data/sqlite.db \ "SELECT COUNT(*), MIN(created_at), MAX(created_at) FROM service_histories;"
TSDB 未配置时,历史表仍在 SQLite 中;时间字段单位应先通过查询确认。
sudo sqlite3 /opt/nezha/dashboard/data/sqlite.db \ 'DELETE FROM service_histories;' sudo sqlite3 /opt/nezha/dashboard/data/sqlite.db 'VACUUM;' sudo systemctl start nezha-dashboard sudo systemctl status nezha-dashboard --no-pager
不要在服务写入时直接删除 .db-wal 或 .db-shm。
sudo journalctl -u caddy -f sudo journalctl -u nezha-dashboard -f sudo journalctl -u vless-reality -f sudo journalctl -u cpa-usage-keeper -f sudo tail -f /var/log/xray/access.log
sudo systemctl status cpa-usage-keeper --no-pager systemctl --user status cliproxyapi.service --no-pager curl -fsS https://cpa.7879710.xyz/keeper/healthz
Keeper 根路径是 /keeper/;端口或路径变更时要同步检查应用环境变量、插件配置和 Caddy。
/root/backup.sh 只备份配置。它通过 rclone 直传到 Alist 的 gdriver/vps-backups,不要求 /mnt/gdriver 挂载。
备份会在服务器后台运行;页面关闭后任务仍会继续。只允许一项任务同时运行。
网页 API 常驻,root worker 只在点击后按需运行;worker 空闲时显示 inactive 属于正常状态。详细日志由系统轮转,不会无限增长。
Caddy、Xray/VLESS、systemd、Docker Compose、.env、YAML/JSON、网络/防火墙规则、部署脚本和静态入口。
sudo /root/backup.sh --check sudo /root/backup.sh --dry-run sudo /root/backup.sh # 更新 Keeper(只替换 Linux amd64 二进制) sudo /root/cpa-usage-keeper/xq.sh --check sudo /root/cpa-usage-keeper/xq.sh
SQLite/PostgreSQL/MySQL/Redis 数据、Nezha 历史、Keeper/CPA 用量、日志、缓存、Docker 数据卷、上传内容和 HLS 分片。
归档含凭据、SSH/Xray 私钥和 rclone 配置。迁移前核对 RESTORE-MANIFEST/README.txt,不要盲目覆盖新机网络或 SSH 主机身份。
Caddy 以 /etc/caddy/sites/7879710.xyz 为准;Typecho 配置和各 Compose 文件同理,不要编辑历史副本。
使用应用自带的 test/validate 命令,确认通过后再 reload/restart;远程网络服务尤其要谨慎。
至少检查门户、/index.php、/wiki/ 和受影响的子域名 HTTP 状态。