Create snapper config to implement BTRFS snapshots

This commit is contained in:
Austin Horstman 2022-01-29 22:24:13 -06:00
parent 1b716002b0
commit ba16d43152
4 changed files with 85 additions and 1 deletions

View File

@ -76,8 +76,8 @@ createsubvolumes () {
mountallsubvol () {
mount -o ${MOUNT_OPTIONS},subvol=@home ${partition3} /mnt/home
mount -o ${MOUNT_OPTIONS},subvol=@tmp ${partition3} /mnt/tmp
mount -o ${MOUNT_OPTIONS},subvol=@.snapshots ${partition3} /mnt/.snapshots
mount -o ${MOUNT_OPTIONS},subvol=@var ${partition3} /mnt/var
mount -o ${MOUNT_OPTIONS},subvol=@.snapshots ${partition3} /mnt/.snapshots
}
subvolumesetup () {

View File

@ -88,6 +88,22 @@ systemctl disable dhcpcd.service
systemctl stop dhcpcd.service
systemctl enable NetworkManager.service
systemctl enable bluetooth
if [[ "${FS}" == "luks" || "${FS}" == "btrfs" ]]; then
echo -ne "
-------------------------------------------------------------------------
Creating Snapper Config
-------------------------------------------------------------------------
"
SNAPPER_CONF="/root/ArchTitus/configs/etc/snapper/configs/root"
SNAPPER_CONF_D="/root/ArchTitus/configs/etc/conf.d/snapper"
cp -a ${SNAPPER_CONF} /home/$USERNAME/etc/snapper/configs/
cp -a ${SNAPPER_CONF_D} /home/$USERNAME/etc/conf.d/
fi
echo -ne "
-------------------------------------------------------------------------
Cleaning

View File

@ -0,0 +1,6 @@
## Path: System/Snapper
## Type: string
## Default: ""
# List of snapper configurations.
SNAPPER_CONFIGS="root"

View File

@ -0,0 +1,62 @@
# subvolume to snapshot
SUBVOLUME="/"
# filesystem type
FSTYPE="btrfs"
# btrfs qgroup for space aware cleanup algorithms
QGROUP=""
# fraction or absolute size of the filesystems space the snapshots may use
SPACE_LIMIT="0.5"
# fraction or absolute size of the filesystems space that should be free
FREE_LIMIT="0.2"
# users and groups allowed to work with config
ALLOW_USERS=""
ALLOW_GROUPS=""
# sync users and groups from ALLOW_USERS and ALLOW_GROUPS to .snapshots
# directory
SYNC_ACL="no"
# start comparing pre- and post-snapshot in background after creating
# post-snapshot
BACKGROUND_COMPARISON="yes"
# run daily number cleanup
NUMBER_CLEANUP="yes"
# limit for number cleanup
NUMBER_MIN_AGE="1800"
NUMBER_LIMIT="10"
NUMBER_LIMIT_IMPORTANT="5"
# create hourly snapshots
TIMELINE_CREATE="no"
# cleanup hourly snapshots after some time
TIMELINE_CLEANUP="yes"
# limits for timeline cleanup
TIMELINE_MIN_AGE="1800"
TIMELINE_LIMIT_HOURLY="5"
TIMELINE_LIMIT_DAILY="7"
TIMELINE_LIMIT_WEEKLY="0"
TIMELINE_LIMIT_MONTHLY="0"
TIMELINE_LIMIT_YEARLY="0"
# cleanup empty pre-post-pairs
EMPTY_PRE_POST_CLEANUP="yes"
# limits for empty pre-post-pair cleanup
EMPTY_PRE_POST_MIN_AGE="1800"