如何使用 Btrfs 自动制作每小时/每天/每周快照

如何使用 Btrfs 自动制作每小时/每天/每周快照

我记得 2003 年我在一家拥有 NetApp 服务器的公司工作,我们的主目录中有一个快照目录,里面有各种快照。我认为有最近一分钟、一小时、一天、一周等的快照。当我设置我的第一个 Btrfs 文件系统时,我很惊讶我找不到一个脚本来自动使用 Btrfs 提供类似的界面。

我不记得具体的布局是如何设置的,但我可以想象如下:

$HOME/some_file
$HOME/.snapshot/minute/2016-04-16_07_33/some_file
                       2016-04-16_07_34/...
                       2016-04-16_07_35
                hour/2016-04-16_05_00
                     2016-04-16_06_00
                     2016-04-16_07_00
                day/2016-04-14
                    2016-04-15
                    2016-04-16
                week/2016-03-27
                     2016-04-03
                     2016-04-10

我正在寻找一个可以从 运行的脚本cron,它将创建必要的 Btrfs 快照并将它们挂载到上述位置。它应该每分钟运行一次。对于每个时间单位 - 分钟/小时/天/周 - 它应该为最后 N 个单位保留一些可配置数量的快照 N。在上面的例子中,N 将是 3。除非正在使用中,否则应自动删除较旧的快照。“正在使用”可能意味着我已经将其cd挂载到其中一个位置,或者将其绑定挂载到另一个位置。

/显然,如果能在根系统下或在下同时创建快照就更好了/home/some_other_user/,而不仅仅在我自己的下$HOME

相关内容