使用 Btrbk 为 Btrfs 文件系统做简单快照

Btrfs真的牛逼。都来用。

每次回过神来要备份都肯定事出有因,悲伤的故事就不讲了,大过年的。Btrbk能利用Btrfs文件系统的快照特性(ext4就不用看了),对整个subvolume做快照,还支持把备份传输到其他机器上。这里仅使用一种简单的用法,对系统和用户subvolume做一个定时的快照。

快照不能称作备份。快照可以回滚,以防止误删、误编辑或实现某种程度上的版本控制,但无法抵抗存储介质和文件系统的损坏。要防止这种现象发生,请将其导出到其他备份介质中,Btrbk对此功能也有支持,也可以使用btrfs-send
关于volume(卷):范围来说可以理解为分区,但实际上并不是一个东西。
关于Btrfs subvolume(子卷):相当于在上级Btrfs volume上建了很多共享空间的subvolume。

选取要快照的subvolume

可以使用如下的命令,来查看btrfs volume(差不多是传统意义上的分区) /下的所有subvolume:

sudo btrfs subvolume list /

一些系统会使用@root、@home、@等subvolume名字,但挂载到如/、/home等挂载点,请注意区分。

以我为例,btrfs分区挂载到/,其中的subvolume有@、@home、@log、@pkg几个,此次给前两个做快照。

新建快照subvolume

这个纯属个人喜好问题,因为快照本身也差不多是个subvolume。但“与自己的快照在同一个subvolume里”,总感觉怪怪的。

使用如下的命令,创建一个路径为/.btrbk-snapshot的subvolume。

sudo btrfs subvolume create /.btrbk-snapshot

现在就可以像访问一个普通目录一样,cd进/.btrbk-snapshot了,可以在这里查看创建的快照。不需要为每个创建subvolume创建文件夹,之后创建备份时会根据subvolume名和创建时间时间来命名。

配置 Btrbk

安装应该不用多提了,包管理器都有。

这里提供一份较为简单的配置文件,可以编辑后保存到/etc/btrbk.conf或者/etc/btrbk/btrbk.conf,如需更高级的玩法(包括备份、远程等)可以参考官方配置文件示例或者Gentoo Wiki页面。

# 启用传输日志并保存到 /var/log/btrbk.log
transaction_log            /var/log/btrbk.log
# 最新的快照会一直保留
snapshot_preserve_min      latest
# 默认不保留每周、每月、每日的快照,最多保留 1 个每小时快照,和 2 个每日快照
# 也就是说,每小时快照会在生成 1 小时后删除,每日快照会在生成 2 天后删除
snapshot_preserve          1h 2d 0w 0m 0y

# 要进行快照(或备份……)的 btrfs 卷
volume /
    # 存放快照的目录,也可以用相对于上面 volume 的相对路径
    snapshot_dir /.btrbk-snapshot
    # 要备份的 subvolume 列表,一行一个
    subvolume /
    subvolume /home

*_preserve_min似乎相比*_preserve优先级更高,即假设前者设定为18h,则即使后者设定了1h(保留一个每小时快照),每个每小时快照仍会保留18h。

编辑完成后运行sudo btrbk run -n进行dry run,检验输入的参数。没有问题的话也可以尝试使用sudo btrbk run进行一次快照。

设置定时运行

如希望每天进行一次,在/etc/cron.daily新建一个cron job:

#!/bin/sh
exec /usr/bin/btrbk -q run

如需不同的频率,只需替换daily为hourly/monthly/weekly等值即可。不要忘了赋予运行权限。

另请参阅

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇