SNAPPER-CONFIGS(5)

โœจ snapper-configs(5) โœจ โ€” the config files for snapper configs, bestie edition

okay so real talk: this is the snapper-configs page from the snapper manual (section 5, filesystem snapshot management, iykyk). it's the cheat sheet for the little config files that tell snapper what to do. let's go ๐Ÿ’…


๐ŸŒธ NAME ๐ŸŒธ

snapper-configs โ€” the configuration files for snapper configs ๐ŸŽ€

๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

every single file matching /etc/snapper/configs/* describes one (1) snapper config. that's it, that's the whole vibe. one file, one config, no cap โœจ

๐Ÿ’– VARIABLES ๐Ÿ’–

here's the full list of variables that can show up in a config file. important: boolean values must be literally "yes" or "no" โ€” no true, no 1, no vibes-based interpretations ๐Ÿ™ˆ

  • SUBVOLUME=path โ€” the path of the subvolume or the mount point. there's no default value, like at all, and the value must always be specified. non-negotiable, periodt ๐Ÿ’€
  • FSTYPE=value โ€” the filesystem type for the subvolume. default is "btrfs", but honestly it's recommended to always specify the filesystem type anyway. main character move ๐Ÿซถ
  • QGROUP=qgroup โ€” the btrfs quota group used for the space-aware cleanup algorithms. only supported for btrfs, bestie. ๐Ÿงš
  • SPACE_LIMIT=float or size โ€” the threshold for the max space snapshots should use on the filesystem. when snapshots exceed this limit โ€” either as a fraction of the whole filesystem or an absolute value โ€” snapper will remove older snapshots during cleanup operations. an absolute value must use the C locale. only supported for btrfs. default is "0.5" (that's 50% of the filesystem, iconic). new in version 0.3.0, absolute value new in version 0.9.0 โญ
  • FREE_LIMIT=float or size โ€” the threshold for the minimum free space that should stay free on the filesystem. when free space falls below this limit โ€” again, either as a fraction of the whole filesystem or an absolute value โ€” snapper will remove older snapshots during cleanup to reclaim space. an absolute value must use the C locale. only supported for btrfs. default is "0.2" (20% of the filesystem ๐Ÿ’–). new in version 0.8.0, absolute value new in version 0.9.0
  • UNIQUE_NUMBERS=boolean โ€” whether snapshot numbers should be all-time unique. if set to yes, snapshot numbers are not reused even after snapshots get deleted. default is "yes". new in version 0.13.2 โœจ
  • ALLOW_USERS=users โ€” list of users allowed to operate with the config. the user-names must be separated by spaces, and spaces inside usernames can be escaped with a "\ ". also see the PERMISSIONS section in snapper(8). using network users should be avoided since it can break most commands including rollback when the network does not work ๐Ÿ˜ญ. default is "" โ€” but "root" is always implicitly included, no exceptions ๐Ÿ‘‘
  • ALLOW_GROUPS=groups โ€” list of groups allowed to operate with the config. group-names must be separated by spaces, and spaces in group-names can be escaped with a "\ ". also see the PERMISSIONS section in snapper(8). using network groups should be avoided since it can break most commands including rollback when the network does not work ๐Ÿ™ˆ. default is ""
  • SYNC_ACL=boolean โ€” defines whether snapper will sync the users and groups from ALLOW_USERS and ALLOW_GROUPS to the ACL of the .snapshots directory. also see the PERMISSIONS section in snapper(8). default is "no". new in version 0.2.0 ๐Ÿฆ‹
  • BACKGROUND_COMPARISON=boolean โ€” defines whether pre and post snapshots should be compared in the background after creation. default is "yes" ๐ŸŒˆ
  • COMPRESSION=algorithm โ€” defines the compression algorithm used for saving the file list. allowed values are "none" and "gzip". depending on the installed libraries, some compression algorithms might not be available. default is "gzip". new in version 0.10.1 ๐ŸŽ€
  • NUMBER_CLEANUP=boolean โ€” defines whether the number cleanup algorithm should be run for the config. default is "no" ๐Ÿ’…
  • NUMBER_MIN_AGE=seconds โ€” minimal age for snapshots to be deleted by the number cleanup algorithm. default is "3600" โณ
  • NUMBER_LIMIT=number or range โ€” defines how many snapshots the number cleanup algorithm should keep. the youngest snapshots will be kept. default is "50" ๐Ÿ“
  • NUMBER_LIMIT_IMPORTANT=number or range โ€” defines how many important snapshots the number cleanup algorithm should keep. important snapshots have important=yes in the userdata. the youngest important snapshots will be kept. the number of normal and important snapshots are counted independently. default is "10". new in version 0.1.8 ๐Ÿ‘‘
  • TIMELINE_CREATE=boolean โ€” defines whether hourly snapshots should be created. together with the timeline cleanup algorithm this will create a collection of snapshots with more snapshots in the recent past and fewer snapshots in the far past (it's giving "radial decay", love that for us). default is "no" โœจ
  • TIMELINE_CLEANUP=boolean โ€” defines whether the timeline cleanup algorithm should be run for the config. default is "no"
  • TIMELINE_MIN_AGE=seconds โ€” minimal age for snapshots to be deleted by the timeline cleanup algorithm. default is "3600" โณ
  • TIMELINE_LIMIT_HOURLY=number or range โ€” defines how many hourly snapshots the timeline cleanup algorithm should keep. an hourly snapshot is the first snapshot in an hour. the youngest hourly snapshots will be kept. default is "10" ๐Ÿ•
  • TIMELINE_LIMIT_DAILY=number or range โ€” defines how many daily snapshots the timeline cleanup algorithm should keep. a daily snapshot is the first snapshot in a day. the youngest daily snapshots will be kept. default is "10" ๐ŸŒž
  • TIMELINE_LIMIT_WEEKLY=number or range โ€” defines how many weekly snapshots the timeline cleanup algorithm should keep. a weekly snapshot is the first snapshot in a week. the youngest weekly snapshots will be kept. in compliance with ISO 8601, weeks start on Monday ๐Ÿ’€. default is "0"
  • TIMELINE_LIMIT_MONTHLY=number or range โ€” defines how many monthly snapshots the timeline cleanup algorithm should keep. a monthly snapshot is the first snapshot in a month. the youngest monthly snapshots will be kept. default is "10" ๐ŸŒ™
  • TIMELINE_LIMIT_QUARTERLY=number or range โ€” defines how many quarterly snapshots the timeline cleanup algorithm should keep. a quarterly snapshot is the first snapshot in a quarter. the youngest quarterly snapshots will be kept. default is "0" ๐Ÿ—“๏ธ
  • TIMELINE_LIMIT_YEARLY=number or range โ€” defines how many yearly snapshots the timeline cleanup algorithm should keep. a yearly snapshot is the first snapshot in a year. the youngest yearly snapshots will be kept. default is "10" ๐ŸŽ†
  • EMPTY_PRE_POST_CLEANUP=boolean โ€” defines whether the empty-pre-post cleanup algorithm should be run for the config. default is "no" ๐Ÿซง
  • EMPTY_PRE_POST_MIN_AGE=seconds โ€” minimal age for snapshots to be deleted by the empty-pre-post cleanup algorithm. default is "3600" โณ

๐Ÿ”ฅ TYPES ๐Ÿ”ฅ

some of the types used for the variables genuinely deserve an explanation, bestie:

  • range โ€” a range of numbers written as min-value-max-value, e.g. "10-20" ๐Ÿ“
  • qgroup โ€” a btrfs qgroup in the standard form level-id, e.g. "1/0" ๐Ÿงฎ

๐Ÿ’€ NOTES ๐Ÿ’€

the default values stated here are the values snapper uses when the entry is missing in the configuration file. some of them are not identical to the values from the configuration file template โ€” so don't come for me if the template says something else, that's just how it is ๐Ÿ™ˆ

๐ŸŒ HOMEPAGE ๐ŸŒ

http://snapper.io/ โ€” go say hi ๐Ÿ’–

๐Ÿ‘‘ AUTHORS ๐Ÿ‘‘

Arvin Schnell <aschnell@suse.com> โ€” the icon who made this happen ๐Ÿซถ

๐Ÿฆ‹ SEE ALSO ๐Ÿฆ‹

snapper(8), snapperd(8) โ€” go read those next, bestie, they're the whole ecosystem โœจ


and that's the tea ๐Ÿต โ€” this page is snapper version 0.13.2, dated 2026-06-16, brought to you with love and zero cap. go forth and configure ur snapshots responsibly, queen ๐Ÿ’…๐Ÿ‘‘๐ŸŒธ

๐Ÿ“ฆ where this page comes from