我记得 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
。