使用Snapper对Arch进行备份

1. 安装Snapper包

1
pacman -S snapper

根据wiki中的建议,还可以安装GUI 前端 snapper-gui-gitbtrfs-assistantsnapper-tools.

2. 建立snapper配置

在 Btrfs 中,snapper 是以子卷为单位管理快照的。我们要先为子卷建立配置文件才能管理快照.

首先为snpper创建初始配置文件,这里我们不额外划分子卷,直接以 Btrfs 挂载点的根目录来进行操作.

1
snapper -c cfg_root create-config -f btrfs /

这个指令将创建一个名为cfg_root的配置文件,备份文件类型为btrfs,备份根分区.

cfg_root路径一般位于 /etc/snapper/configs/,用户可以自行修改配置文件设置快照限制.

此时,配置文件已经激活,snapper将会自动按时创建快照.

3. 创建快照

3.1自动按时创建快照

使用cron守护进程或者启用snapper-timeline.timer都可以自动按时创建快照,另外,启用snapper-cleanup.timer 来定期清理老旧快照.方法参照Snapper.

3.2手动创建快照

1
snapper -c cfg_root create

3.3其他常用快照相关指定

创建前快照:

1
sudo snapper create -t pre

创建后快照(需指定前快照编号):

1
sudo snapper create -t post --pre-number <前快照编号>

创建带描述的快照:

1
sudo snapper create -t single --description "系统快照"

列出当前配置的所有快照:

1
sudo snapper list

列出指定配置的快照:

1
sudo snapper -c <配置名称> list

列出所有配置的快照:

1
sudo snapper list -a

删除指定编号的快照:

1
sudo snapper delete <快照编号>

删除多个快照:

1
sudo snapper delete <快照编号1> <快照编号2>

显示两个快照之间的更改:

1
sudo snapper status <快照编号1>..<快照编号2>

显示指定文件的差异:

1
sudo snapper diff <快照编号1>..<快照编号2> <文件路径>

撤销指定快照间的更改:

1
sudo snapper undochange <快照编号1>..<快照编号2> <文件路径>

回滚到指定快照:

1
sudo snapper rollback <快照编号>

其他指令自行参照官方文档,这里不再给出.

4.常见需求

如何指定快照保存路径?

对于个人系统而言,//home通常挂载在不同卷上面,为了节约 / 的空间,通常选择将快照保存在 /home 中.

Reference

  1. Arch wiki for Snapper

  2. 用 snapper 轻松玩转 Btrfs 的快照功能

  3. Snapper 快照管理工具

写在最后

为什么使用Snapper?

Arch Linux 是滚动更新的系统,用户经常在更新后出现问题,而Snapper可以为系统在安装/升级前后做快照,如果安装/升级失败,就可以快速的恢复系统到正常状态.

对于Arch Linux新用户建议阅读《建议阅读/给新用户的关于如何不去弄坏 Arch Linux 系统的建议》以减少系统出错的概率.


使用Snapper对Arch进行备份
https://uiuiqkjn.github.io/2024/12/08/使用Snapper对Arch进行备份/
作者
咕噜咕哩布
发布于
2024年12月8日
更新于
2026年3月31日
许可协议