servers/tools/server/fs-diff

34 lines
741 B
Text
Raw Normal View History

2025-02-03 17:19:22 -06:00
#!/usr/bin/env bash
# fs-diff.sh
# run on server.
set -euo pipefail
2025-02-04 14:05:17 -06:00
MOUNTPOINT=/mnt
if [[ ! -d $MOUNTPOINT ]]; then
sudo mkdir $MOUNTPOINT
2025-02-03 17:19:22 -06:00
fi
2025-02-04 14:05:17 -06:00
if !(mountpoint $MOUNTPOINT > /dev/null); then
sudo mount -t btrfs /dev/disk/by-label/NIXROOT $MOUNTPOINT
2025-02-03 17:19:22 -06:00
fi
2025-02-04 14:05:17 -06:00
OLD_TRANSID=$(sudo btrfs subvolume find-new $MOUNTPOINT/root-blank 9999999)
2025-02-03 17:19:22 -06:00
OLD_TRANSID=${OLD_TRANSID#transid marker was }
2025-02-04 14:05:17 -06:00
sudo btrfs subvolume find-new "$MOUNTPOINT/root" "$OLD_TRANSID" |
2025-02-03 17:19:22 -06:00
sed '$d' |
cut -f17- -d' ' |
sort |
uniq |
while read path; do
path="/$path"
if [ -L "$path" ]; then
: # The path is a symbolic link, so is probably handled by NixOS already
elif [ -d "$path" ]; then
: # The path is a directory, ignore
else
echo "$path"
fi
done