Yabsnap

出自 ArchWiki

Yabsnap 是一个为 Arch 编写的,用于 Btrfs 分区的计划快照管理器。

安装

安装 yabsnapAUR 软件包,开发版本可以从 yabsnap-gitAUR 安装。

配置

运行以下命令来创建骨架配置

# yabsnap create-config 'configname'

这将创建 /etc/yabsnap/configs/confignane.conf。编辑该文件以指定以下内容

  • source - 子卷的挂载位置。例如 /home
  • dest_prefix - 要创建的快照名称的完整路径和前缀。例如 /.snapshot/@home- 将创建诸如 /.snapshot/@home-20230525120000 之类的快照备份文件。

您还可以编辑其他参数来指定何时触发和清理备份。

主要命令

查看快照

要查看现有快照,请使用

$ yabsnap list

创建快照

要为所有配置创建快照,请使用

# yabsnap create --comment 'COMMENT'

您还可以限制为特定的已挂载子卷。Yabsnap 将自动找到适合它的配置并使用它

# yabsnap --source '/home' create --comment 'COMMENT'

清理或删除快照

自动清理

Yabsnap 将根据 /etc/yabsnap/configs/*.conf 中的配置自动删除快照。

删除快照

您还可以使用以下命令手动删除快照

指定完整路径删除特定快照

# yabsnap delete /.snapshots/@home-20230525120000

指定时间戳删除所有在同一时间拍摄的匹配快照

# yabsnap delete 20230525120000

创建回滚

回滚要求:通过 subvol 而非 subvolid 挂载

建议您使用 subvol 而不是 subvolid 挂载所有卷。

例如,这可以是您的 fstab 条目

UUID=[YOUR_UUID] / btrfs rw,noatime,ssd,space_cache=v2,compress=zstd,subvol=/@ 0 0
注意: 使用的符号是 subvol=/@不要 使用 subvolid=

这样做的原因是回滚机制不会编辑您的 fstab 文件,它只会确保在各自的位置挂载正确的快照。

回滚操作

回滚命令是安全的,直到您执行它生成的脚本。

这将生成一个回滚脚本

将时间戳更改为您现有快照之一

$ yabsnap rollback-gen 20230525081049 | tee ~/rollback.sh

执行该脚本将实际导致回滚发生。建议您在回滚之前查看生成的行。

在您查看了为回滚生成的脚本后,您可以使其成为可执行文件,然后运行它

# ~/rollback.sh

这将执行在指定时间戳拍摄的所有快照的回滚。

与 Snapper 的比较

它的创建是为了克服 Snapper 的一些缺点,特别是它执行了以下在 Snapper 中难以或不可能完成的操作(在撰写本文时)

参见