Помню, как в 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
.