snapper: настройка снимков подтомов

Показать список подтомов можно командой btrfs subvolume list /. Выберем какой-нибудь, например /var/lib/pgsql.
Создадим новую конфигурацию (профиль) для этого подтома: snapper -c pgsql create-config /var/lib/pgsql, здесь pgsql произвольное имя:
# snapper list-configs
Config | Subvolume     
-------+---------------
root   | /             
pgsql  | /var/lib/pgsql

Далее, все команды нужно выполнять с ключом -c pgsql, чтобы оперировать нужным профилем.

# snapper -c pgsql get-config
...      
NUMBER_CLEANUP         | yes           
NUMBER_LIMIT           | 50            
NUMBER_LIMIT_IMPORTANT | 10            
NUMBER_MIN_AGE         | 1800          

Здесь NUMBER_CLEANUP разрешает удалять старые снимки если их число превышает NUMBER_LIMIT и одновременно возраст (в секундах) больше NUMBER_MIN_AGE.

TIMELINE_CLEANUP       | yes           
TIMELINE_CREATE        | yes           
TIMELINE_LIMIT_DAILY   | 10            
TIMELINE_LIMIT_HOURLY  | 10            
TIMELINE_LIMIT_MONTHLY | 10            
TIMELINE_LIMIT_YEARLY  | 10            
TIMELINE_MIN_AGE       | 1800

Здесь соответствующая настройка разрешает автоматическое создание снимков раз в час. Команда TIMELINE_CLEANUP удаляет старые снимки, используя следующие правила: удаляется снимок только если он старше TIMELINE_MIN_AGE секунд и одновременно после удаления останутся TIMELINE_LIMIT_* снимков с соответствующими интервалами.
Таким образом, в вышеописанном стандартном случае всегда будут доступны снимки: 10 с интервалом в час с текущего момента, 10 с интервалом в один день с текущего момента, 10 с интервалом в один месяц и так далее.