initial commit uwu

This commit is contained in:
snaki 2022-05-25 15:52:07 +02:00
commit 3b65c099f5

42
btrbk.sh Normal file
View file

@ -0,0 +1,42 @@
#!/bin/bash
pubKey="DB7D3FF57FB85CC81A1D4675371DB61AC29E4986"
subVols=("/" "/home")
volName=("root" "home")
snapDir="/.snapshots/"
rcloneDir="test:/mnt/bk/new/"
function main {
for i in ${!subVols[@]}
do
snapName=${volName[$i]}.$(date +%Y-%m-%d)
snapYest=$snapDir${volName[$i]}.$(date -d "yesterday" +%Y-%m-%d)
btrfs subvolume snapshot -r ${subVols[$i]} $snapDir$snapName
if [[ -d "$snapYest" && $bkType = daily ]]
then
btrfs send -p $snapYest $snapDir$snapName | gpg --batch -er $pubKey -o - | rclone rcat $rcloneDir$(date +%B)/$snapName.pgp
else
btrfs send $snapDir$snapName | gpg --batch -er $pubKey -o - | rclone rcat $rcloneDir$snapName.pgp
fi
if [[ $bktype = monthly ]]
then
for f in `seq 1 2`
do
btrfs subvolume delete $snapDir${volName[$i]}.$(date -d "$f days ago" +%Y-%m-%d)
done
rclone delete $rcloneDir$(date -d "1 month ago" +%B)/
else
btrfs subvolume delete $snapDir${volName[$i]}.$(date -d "2 days ago" +%Y-%m-%d)
fi
done
}
if [ `date +%d` != "01" ]
then
bkType=daily
main
else
bkType=monthly
main
fi