BackupPC 集中备份:网页管理、自动去重,一堆机器共用一份相同文件

给十几台办公机、开发机做备份,最省心的方式是「一台服务器统一收,大家在网页上自己查自己恢复」。BackupPC 就是干这个的:它跑在一台 Linux 服务器上,通过 rsync、SMB 或 tar 把各客户端拉过来,核心是「池化去重」——所有机器相同的文件只存一份。于是十台装了同一套系统的机器,占用空间远小于十倍。它还带 Web 管理界面,恢复文件不用敲命令,普通同事也能自助。
它解决什么问题
每台机器各自备份,系统文件大量重复,存储被一模一样的内容白白占满。
员工误删文件只能找运维,运维要登服务器翻目录,效率低、响应慢。
没有统一界面,备份成功与否、还剩多少空间全靠手工看,容易漏。
核心能力
| 能力 | 具体能做到什么 |
|---|---|
| 池化去重 | 跨所有客户端的相同文件只存一份,多台同构机器备份占用远小于简单相加。 |
| Web 管理 | 自带网页控制台,查看备份状态、浏览历史版本、触发恢复都在浏览器里完成。 |
| 多协议拉取 | 支持 rsync、SMB、tar 多种方式接入,Windows 与 Linux 客户端都能覆盖。 |
| 增量压缩 | 备份默认增量并可选压缩,结合去重进一步压低磁盘占用。 |
| 自助恢复 | 普通用户经授权可在Web里自行找回误删文件,减轻运维负担。 |
| 邮件告警 | 作业失败或空间不足时可发邮件提醒,运维不必天天盯盘。 |

跨机器去重是怎么省出空间的
BackupPC 的存储后端是一个「文件池」:每备份一个文件,先算它的哈希,若池里已有相同哈希的文件,就只记一条引用、不再存实体。于是十台装了同一套操作系统的机器,系统目录那几千个相同文件在整个备份库里只存在一份。这种跨客户端的全局去重,对「大量机器配置相近」的办公环境尤其划算,空间节省往往以数量级计。恢复时再按各客户端的引用把文件拼回去。
使用上,BackupPC 建议专门用一台稳定服务器长期运行,它本身是Perl写的服务,依赖 rsync 等服务端组件。初次配置要设置每个客户端的接入方式(ssh/rsync 或 SMB 账号)与备份计划;Windows 客户端常用 SMB 共享或 rsyncd。要注意池化去重意味着「删一个客户端的快照」不会立刻释放磁盘,因为文件可能被别人引用,清空间要在管理界面按策略做过期回收。Web 登录务必设强密码并限制访问来源。
同类工具怎么选
| 工具 | 授权 | 差别在哪 |
|---|---|---|
| UrBackup | 开源免费 | 带 Web 界面、镜像与文件双模式,客户端有桌面端,自助恢复更友好。 |
| Bacula | 开源免费 | 组件化企业备份,集中调度与目录数据库更强,但配置更复杂。 |
| rsnapshot | 开源免费 | 单机能跑的硬链接快照,轻量好懂,但不带跨机去重与网页管理。 |
谁适合用
- 要给一批办公机、开发机做统一备份的小公司 IT
- 希望员工能自助找回误删文件、少打扰运维的团队
- 想用一台服务器集中管多机、又要省存储的管理员
怎么开始
- 在 Linux 服务器安装 BackupPC,启动服务并确认网页控制台可访问。
- 为每台客户端配置接入方式:Linux 用 rsync over ssh,Windows 用 SMB 共享或 rsyncd。
- 在管理界面填写各主机的备份路径、排除项与计划(全量/增量周期)。
- 先对一两台机器手动触发一次备份,确认去重池与 Web 浏览正常。
- 把计划挂上自动调度,开启失败邮件告警。
- 教授权用户在 Web 界面自助浏览历史版本并恢复误删文件。
常见问题
Windows 机器能备份吗?
能,通过 SMB 共享目录或 rsyncd 方式接入,文件与系统目录都能拉取备份。
去重后删一台机器的备份会释放空间吗?
不一定,相同文件可能被其他机器引用,需在管理界面按过期策略统一回收。
普通同事能自己恢复吗?
可以,Web 控制台支持授权用户浏览自己的历史版本并自助还原,不必每次找运维。
需要专门一台服务器吗?
建议用一台稳定的长期运行主机做备份服务器,它本身资源占用不高,但别和易宕机的主机混用。
授权与合规
BackupPC 以 GPL-3.0 开源协议发布,源码在 GitHub 公开,可自托管于自有 Linux 服务器。 官网:backuppc.github.io/backuppc。
继续找同类资源
这条属于「系统相关」栏目,同栏目还有更多可直接使用的免费资源,可以在 系统相关全部资源 里按需翻阅。
相关资源
同栏目下这几条也常被一起翻到:
↓ 获取资源
点击按钮直接前往资源页面。