dootask/resources/ai-kb/zh/faq/common-faq/deploy-backup.md

2.0 KiB
Raw Permalink Blame History

id, title, type, feature, scope, locale, aliases, related_tools, related_pages, prerequisites, negative, last_verified
id title type feature scope locale aliases related_tools related_pages prerequisites negative last_verified
common-faq.deploy-backup.faq 怎么备份 DooTask 数据 faq common-faq admin zh
数据备份
怎么备份
备份数据库
备份附件
定期备份
怎么导出全部数据
怎么迁移到新服务器
部署机能 root 执行 sudo ./cmd
没有「一键全量备份」按钮,要分别备份数据库、附件、配置三部分
cmd update 自带数据库备份,但不备份 public/uploads
备份文件不会自动归档到外部存储,要自行同步
v1.7.90

怎么备份 DooTask 数据

完整备份包含三部分

  1. 数据库:所有任务、项目、消息、用户元数据
  2. 附件目录public/uploads/(附件、头像)
  3. 配置.envdocker/appstore/config/、SSL 证书

数据库

sudo ./cmd mysql backup       # 备份到 docker/mysql/backup/<db>_<时间戳>.sql.gz
sudo ./cmd mysql restore      # 列出备份让你选编号还原

./cmd update 会自动备份一次,升级前不用手动操作。

附件目录

没有内置命令,自己打包:

tar czf uploads-$(date +%F).tar.gz --exclude='public/uploads/tmp' public/uploads

配置

tar czf config-$(date +%F).tar.gz .env docker/appstore/config

定期自动备份

crontab 每日凌晨:

0 2 * * * cd /path/to/dootask && ./cmd mysql backup && tar czf /backups/uploads-$(date +\%F).tar.gz --exclude='public/uploads/tmp' public/uploads

再用 rsync / rclone 同步到 S3 / OSS / NAS 外部存储。

迁移到新服务器

  1. 旧机:备份数据库 + 打包 uploads + 复制 .env
  2. 新机:./cmd install 部署
  3. 还原数据库 → 替换 public/uploads/ → 抄 .env 关键项APP_KEY、JWT_KEY 等)
  4. ./cmd php restart

不要做

  • 不要只备份数据库不备份 uploads附件丢了不可恢复
  • 不要拷贝 docker/mysql/data/ 替代 SQL 备份,跨版本可能不兼容