Update Snapshot Cleanup scripts

This commit is contained in:
albert 2025-03-05 16:33:12 -08:00
parent f51bcf9dd3
commit 34b13cec9e
Signed by: albert
GPG key ID: 3895DD267CA11BA9

View file

@ -131,11 +131,6 @@
'';
# BTRFS Related
clean-all-snapshots = ''
clean-boot-snapshots
clean-timeline-snapshots
clean-btrfs-backup-snapshots
'';
clean-boot-snapshots = ''
echo -en "Deleting boot snapshots...."
for i in $(sudo snapper -c root list | grep boot | awk {'print $1'} | head -n -4);
@ -147,59 +142,82 @@
echo -e " done."
'';
clean-all-snapshots = ''
set subvolumes $(sudo snapper list-configs --column config | tail -n +3)
set types "timeline" "boot" "btrfs-backup"
set num_timeline "14"
set num_boot "5"
set num_btrfs_backup "5"
for volume in $subvolumes;
echo "Found Volume: $volume";
for type in $types;
set safe_type (string replace -a "-" "_" $type)
set type_num (eval "echo \$num_$safe_type")
echo " Retaining '$type_num' snapshots for volume '$volume' snaphsot type '$type'";
echo -en " Deleting snapshots.... "
set snapshots $(sudo snapper -c $volume list | grep $type | awk {'print $1'} | head -n -$type_num)
for snapshot in $snapshots
echo -en " $snapshot,"
sudo snapper -c $volume delete $snapshot
end
echo -e " done."
end;
echo " Remaining Snapshots in ubvolume $volume"
sudo snapper -c $volume list
end
'';
clean-timeline-snapshots = ''
echo -en "Deleting timeline snapshots.... (root)"
for i in $(sudo snapper -c root list | grep timeline | awk {'print $1'} | head -n -4)
echo -en " $i,"
sudo snapper -c root delete $i
end
echo -e " done."
set subvolumes $(sudo snapper list-configs --column config | tail -n +3)
set types "timeline"
set num_timeline "14"
echo -en "Deleting timeline snapshots.... (nix)"
for i in $(sudo snapper -c nix list | grep timeline | awk {'print $1'} | head -n -4)
echo -en " $i,"
sudo snapper -c nix delete $i
end
echo -e " done."
for volume in $subvolumes;
echo "Found Volume: $volume";
for type in $types;
set safe_type (string replace -a "-" "_" $type)
set type_num (eval "echo \$num_$safe_type")
echo " Retaining '$type_num' snapshots for volume '$volume' snaphsot type '$type'";
echo -en " Deleting snapshots.... "
set snapshots $(sudo snapper -c $volume list | grep $type | awk {'print $1'} | head -n -$type_num)
for snapshot in $snapshots
echo -en " $snapshot,"
sudo snapper -c $volume delete $snapshot
end
echo -e " done."
end;
echo -en "Deleting timeline snapshots.... (home)"
for i in $(sudo snapper -c home list | grep timeline | awk {'print $1'} | head -n -4)
echo -en " $i,"
sudo snapper -c home delete $i
echo " Remaining Snapshots in ubvolume $volume"
sudo snapper -c $volume list
end
echo -e " done."
echo "Remaining Snapshots:"
sudo snapper -c root list
sudo snapper -c nix list
sudo snapper -c home list
'';
clean-btrfs-backup-snapshots = ''
echo -en "Deleting btrfs-backup snapshots.... (root)"
for i in $(sudo snapper -c root list | grep btrfs-backup | awk {'print $1'})
echo -en " $i,"
sudo snapper -c root delete $i
end
echo -e " done."
set subvolumes $(sudo snapper list-configs --column config | tail -n +3)
set types btrfs-backup"
set num_btrfs_backup "5"
echo -en "Deleting btrfs-backup snapshots.... (nix)"
for i in $(sudo snapper -c nix list | grep btrfs-backup | awk {'print $1'})
echo -en " $i,"
sudo snapper -c nix delete $i
end
echo -e " done."
for volume in $subvolumes;
echo "Found Volume: $volume";
for type in $types;
set safe_type (string replace -a "-" "_" $type)
set type_num (eval "echo \$num_$safe_type")
echo " Retaining '$type_num' snapshots for volume '$volume' snaphsot type '$type'";
echo -en " Deleting snapshots.... "
set snapshots $(sudo snapper -c $volume list | grep $type | awk {'print $1'} | head -n -$type_num)
for snapshot in $snapshots
echo -en " $snapshot,"
sudo snapper -c $volume delete $snapshot
end
echo -e " done."
end;
echo -en "Deleting btrfs-backup snapshots.... (home)"
for i in $(sudo snapper -c home list | grep btrfs-backup | awk {'print $1'})
echo -en " $i,"
sudo snapper -c home delete $i
echo " Remaining Snapshots in ubvolume $volume"
sudo snapper -c $volume list
end
echo -e " done."
echo "Remaining Snapshots:"
sudo snapper -c root list
sudo snapper -c nix list
sudo snapper -c home list
'';
};