公司动态

云服务器上部署 Duplicati 实现网站数据自动备份

📅 2026/7/29 3:20:46
云服务器上部署 Duplicati 实现网站数据自动备份
1. 需求背景网站运行一段时间后数据积累越来越多备份的重要性也随之凸显。之前手动打包下载的方式效率低且容易遗忘一旦服务器出现故障或误操作数据可能丢失。计划在免费的服务器上测试部署一个自动备份工具定期将网站文件和数据库压缩加密并同步到远程存储。这样即使服务器出现问题也能快速恢复三丰云服务器不用花钱正好可以测试一下。服务器环境操作系统Debian 11已开放端口22、80、8200用于备份管理面板访问已安装 Docker 和 Docker Compose2. 工具选型Duplicati 是一款开源的备份工具支持 Windows、Linux、macOS 等多个平台。它提供 Web 管理界面支持计划任务、数据加密、增量备份并且兼容多种存储后端本地磁盘、FTP、WebDAV、OneDrive、Google Drive、阿里云 OSS 等。3. Docker 部署 Duplicati创建数据目录bashmkdir -p /opt/duplicati/config /opt/duplicati/backups编写docker-compose.ymlyamlversion: 3 services: duplicati: image: linuxserver/duplicati:latest container_name: duplicati restart: always ports: - 8200:8200 volumes: - /opt/duplicati/config:/config - /opt/duplicati/backups:/backups - /var/www:/source/www:ro - /var/lib/mysql:/source/mysql:ro environment: - PUID1000 - PGID1000 - TZAsia/Shanghai启动容器bashdocker-compose up -d说明/source/www挂载了网站代码目录只读作为备份源/source/mysql挂载了数据库目录只读/backups用于存放本地备份文件8200 端口用于访问 Web 管理界面4. 初始化配置访问http://服务器IP:8200首次进入需要设置管理员密码。登录后点击「添加备份」按照向导完成配置第一步设置备份名称填写一个便于识别的名称如website-full-backup第二步选择存储类型这里选择本地存储Local folder or drive路径填/backups第三步选择数据源添加需要备份的目录text/source/www /source/mysql第四步设置加密与密码勾选加密选项并设置密码。加密后的备份文件即使被他人获取也无法直接读取内容。第五步设置计划任务选择备份频率例如每天凌晨 3:00 执行。Duplicati 内置了 cron 风格的调度器text0 3 * * *配置完成后保存首次运行会执行一次完整备份。5. 远程存储配置可选除了本地存储Duplicati 还支持将备份同步到远程服务。以 WebDAV 为例可使用坚果云或自建 Nextcloud在存储类型中选择 WebDAV填写服务器地址、用户名和密码。配置后 Duplicati 会在备份时直接上传到远程存储本地不再保留备份文件。其他支持的存储类型FTP/SFTPGoogle DriveOneDrive阿里云 OSSAmazon S3OpenStack Swift6. 恢复数据操作当需要恢复数据时在 Duplicati 界面中点击「恢复」选择备份任务选择恢复时间点选择要恢复的文件或目录选择恢复目标位置可直接恢复至原路径或指定其他目录输入加密密码后执行恢复过程中支持断点续传大文件恢复比较稳定。7. 资源占用Duplicati 容器内存占用约 150-200MB备份任务运行时 CPU 和内存会短时升高。使用该服务近一个月每日自动备份累计存储了约 20 个版本备份。服务器自身配置为 1 核 1G 内存备份任务与已有的网站服务共存整体负载正常。免费虚拟主机通常无法运行 Docker 容器也无权限访问系统级目录进行备份这类场景需要使用云服务器来完成。8. 踩坑记录数据库备份一致性直接复制 MySQL 数据目录可能导致备份文件损坏建议备份前先执行mysqldump导出 SQL 文件。可以在备份脚本中添加 pre-backup 命令或单独备份导出的 SQL 文件。备份文件过大首次完整备份后增量备份体积较小建议定期清理过期版本。在 Duplicati 设置中可以配置保留策略例如保留最近 30 天的备份。Web 界面访问限制8200 端口不建议直接暴露公网可通过 Nginx 反向代理并添加基础认证或仅允许内网访问。权限问题容器内需要能读取/var/www和/var/lib/mysql目录需确保宿主机目录权限与容器 PUID/PGID 一致。9. 告警通知Duplicati 支持邮件通知在设置中配置 SMTP 服务器即可在备份成功或失败时收到邮件提醒。对于重要数据的备份任务建议开启此功能以确认每日备份正常执行。10. 小结Duplicati 部署和使用都比较简单通过定时备份解决了数据安全的后顾之忧。增量备份和加密功能能够有效控制存储空间和数据风险适合个人网站和小型项目的备份需求。