diff --git a/modules/btrfs.mod b/modules/btrfs.mod index 5cabea2..bba1fac 100644 --- a/modules/btrfs.mod +++ b/modules/btrfs.mod @@ -70,13 +70,31 @@ echo "~ $((subvolumeFolderSize/1024/1024)) GB" } -find_subvolumes () { -sudo /bin/find $1 -maxdepth $2 -type d -exec sh -c ' +find_subvolumes() { + dir=${1:-.} + dep=${2:-1} + sudo /bin/find "$dir" -maxdepth $dep -type d -exec bash -c ' for d do - sudo btrfs subvolume show "$d" >/dev/null 2>&1 && printf "%s\n" "$d" + subv=$(basename $d) + sudo btrfs subvolume show "$d" >/dev/null 2>&1 && printf "%s\n" "$subv" done' find-sh {} + } +folder_snapshot() { + + for sv in $(find_subvolumes $1 1); do + if [[ -d $2/$sv ]]; then + echo snapshot $sv already exists in $2. You must manually delete target snapshots! + else + sudo btrfs sub snap $1/$sv $2 + fi + done + +} + + + + # sudo find / -type d -exec sh -c ' # for d do # btrfs subvolume show "$d" >/dev/null 2>&1 && printf "%s\n" "$d"