计划¶
设置、计划里有所有的计划:覆盖一切的全部备份、分区自己的计划、异地复制、哪些条目参与以及按什么顺序。单个条目也可以在它的页面上设置自己的计划。本页说明它们如何配合,并带你走一遍典型的设置。
像句子一样读的计划¶
每个计划都是一个按钮,读起来像一句话,例如每天 03:00或每 2 天 01:30。点击它会打开,有五种模式:
| 模式 | 你要设置什么 |
|---|---|
| 关闭 | 这个计划什么都不运行。 |
| 每天 | 时间 |
| 每周 | 星期和时间 |
| 每 N 天 | 每隔几天,以及时间。它从上一次计划运行算起,所以手动备份某个条目不会把计划往后推。 |
| Cron | 一个五段的表达式,例如 0 */6 * * * 表示每 6 小时。示例提供了几个,窗口里还会显示接下来的运行时间。 |
所有时间都按服务器的时区。在 Unraid 上就是系统自己的时区。在其他地方请设置 TZ,否则所有计划都按 UTC 运行,参见环境变量。
一周¶
一周卡片把每个计划的运行从星期一到星期日画出来,每天一行:备份、异地复制和检查。指向一条短线就能看到那里开始的是什么。两小时内有三个计划同时开始的地方会被标出来,方便你错开它们。

全部备份¶
全部备份是针对所有内容的默认计划。由备份何时运行设置:一次依次备份每个分区,容器、虚拟机、闪存、文件夹、ZFS 数据集,最后是自我备份。它下面那一行说明它包含哪些分区。关闭会把它关掉,之后只有自己有计划的内容才会运行。
- 启动后补做错过的备份:如果服务器在计划时间是关机的,BombVault 会在启动后大约两分钟运行那次备份。条目自己的计划和异地计划会等到下一个计划时间,从未成功过的计划也一样。
- 前后命令:全部备份前的命令在这一轮开始前,用
sh -c在服务器上运行,例如停止某个服务的脚本。如果它失败,全部备份仍然会运行。全部备份后的命令在每个分区都尝试过之后运行一次,即使其中一个失败了也一样,适合用来 ping 一下,确认整台服务器都受到保护。单个容器的命令在它自己的页面上。
备份页面上的立即备份全部会手动启动同样的一轮,覆盖所有开启的分区。
按分区的计划¶
分区可以离开全部备份,在自己的时间运行。在按分区的计划里,例外会添加一个有自己计划的分区,移除例外会让它回来。卡片里的那一行会说明其他分区怎么运行,例如所有其他分区在全部备份中运行。
有自己计划的分区不会在全部备份里再备份一次,所以不会有东西被备份两次。单个有自己计划的条目也是一样。
按分区的异地副本对复制的作用相同。默认情况下,每个分区在每次备份之后立即复制到它的异地位置。例外可以给一个分区单独设一个复制计划,例如让虚拟机只在星期日晚上复制到 Backblaze B2。存储位置自己的复制卡片也可以设置复制时机,参见异地副本。
已计划的条目¶
已计划的条目按分区说明有多少条目参与,例如38 / 41 已计划。条目会打开列表,每个条目有一个在计划中开关。关闭的条目只有在你手动启动时才会备份。除非你把它标记为不备份,否则它算作未受保护。
顺序¶
顺序设置计划运行和全部备份备份容器与虚拟机的顺序。把条目拖到位置上,或用箭头,每次移动都会立即保存。没有排序的条目按逾期最久的优先备份。手动做的单次备份不受影响。
同一张卡片里的备份后重启管的是备份期间被停止其他容器停掉的容器。它们按依赖顺序重新启动,开启在启动下一个之前等待依赖项恢复正常后,每一个都要报告健康或正在运行,下一个才会启动。每个容器的健康超时(秒)限制等待时间,默认 120,范围 5 到 3600。
用快照代替停止¶
ZFS 上的容器只在拍快照时停止默认是开启的。数据在 ZFS 上的容器,只在 BombVault 给这些数据拍快照期间停止,通常只有几秒钟,之后备份从快照读取。它需要 ZFS 数据集所用的到主机的 SSH 连接。部分数据在别处的容器,仍然像以前一样在整个备份期间停止,它的运行记录会说明原因,而数据完全不在 ZFS 上的容器会直接停止,不带说明。它适用于位于单个 ZFS 存储池上的 Unraid 用户共享。在 TrueNAS 上,应用还需要 SYS_CHROOT 权限,参见 TrueNAS SCALE。单个容器可以在自己的页面上另行设置。
备份存放的路径和标签,与容器停止时做的备份相同,所以恢复和检查对两者一视同仁。备份前的命令和数据库转储仍然先运行,其他要停止的容器会随之停止并重新启动,备份后的命令会在容器重新启动后立即运行。备份后的更新仍然要等到备份完成。它的运行记录会显示快照,以及容器停机了多少秒。如果 BombVault 在任何容器备份的中途停止,下次启动时它会把它压住的容器再启动起来。
备份后的更新¶
- 备份成功后更新容器只在前面的备份完成之后才拉取较新的镜像,所以总是先有一个新的恢复点。默认是关闭的,单个容器可以在自己页面的备份成功后更新下另行设置。只有你自己设置的内容会带到新镜像上:仍与旧镜像中一样的变量、标签、命令、用户和健康检查,会跟随新镜像。如果无法用新镜像创建或启动容器,容器会回到它原来运行的镜像,更新显示为失败,下一次备份会再试。因此停着的容器会在备份的运行记录和通知里写出名字。
- 更新后删除旧镜像会删除容器留下的镜像。其他容器共用的基础镜像绝不会被删除。
- 更新容器后刷新 Unraid 的更新状态会清除 Unraid 上该容器的更新横幅。
每个更新的容器发送一条消息,在设置、通知里用容器更新时通知设置。
备份前空闲¶
备份前空闲卡片设置,对于计划备份在等应用空闲的容器,什么情况下算空闲:CPU 低于(单核 %)、流量低于(Mbit/s)和至少持续(分钟)。媒体服务器在没有串流时算空闲,主机网络上的容器只看 CPU。等待本身在每个容器上设置,参见应用繁忙时。
单个条目的独立计划¶
每个条目在它的设置标签页的计划和目标卡片里都有独立计划。那里有计划时,条目按自己的时间运行,不再参与全部备份和它所属分区的计划。没有的话,它就跟随它们。
示例:三个互相配合的计划¶
一台典型的 Unraid 机器:大多数容器可以在夜里备份,虚拟机很大而且变化缓慢,Immich 一整天都有新照片。
- 03:00 全部备份。 打开设置、计划。在全部备份里,把备份何时运行设为每天的
03:00。开启启动后补做错过的备份,这样服务器关机的夜晚也会补上。 - 虚拟机每周一次。 在按分区的计划里,点击例外,选择虚拟机,把它的计划设为每周,星期选星期日,时间设为
04:00。卡片现在会说所有其他分区在全部备份中运行。 - 虚拟机也在星期日异地复制。 在按分区的异地副本里,点击例外,选择虚拟机,设为每周,星期日
06:00,也就是它们的备份有时间完成之后。 - Immich 每 6 小时一次。 打开备份,然后是
immich,再到它的设置标签页。把独立计划设为 Cron,填0 */6 * * *。
现在会运行的内容:
| 时间 | 内容 |
|---|---|
| 每天 03:00 | 除 immich 之外的容器、闪存、文件夹、ZFS 数据集和自我备份,一个分区接一个分区 |
| 星期日 04:00 | 虚拟机 |
| 星期日 06:00 | 虚拟机的异地复制 |
| 00:00、06:00、12:00 和 18:00 | immich 单独运行 |
一周卡片在每天都显示 03:00 那条线,星期日有 04:00 和 06:00 两条短线,immich 每天有四条短线。immich 不会在 03:00 再备份一次,因为有自己计划的条目会离开全部备份。其他分区的复制仍然在每次备份之后立即运行。
之后如果你移除 immich 的独立计划,它会跟着它的分区重新加入 03:00 的运行。