#!/bin/bash source config.sh set -euxo pipefail function main { date=$(date +%Y-%m-%d) month=$(date +%B) for i in ${!SUBVOLS[@]} do snapName=${VOLNAME[$i]}.$date snapYest=$SNAPDIR${VOLNAME[$i]}.$(date -d "$date -1 day" +%Y-%m-%d) btrfs subvolume snapshot -r ${SUBVOLS[$i]} $SNAPDIR$snapName if [[ -d "$snapYest" && $bkType = "daily" && $? -ne 0 ]] then btrfs send -p $snapYest $SNAPDIR$snapName | gpg --batch -er $PUBKEY -o - | rclone rcat $RCLONEDIR$month/$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 "$date -$f day" +%Y-%m-%d) done rclone delete $RCLONEDIR$(date -d "$month -1 month" +%B)/ else btrfs subvolume delete $SNAPDIR${VOLNAME[$i]}.$(date -d "$date -2 day" +%Y-%m-%d) fi done } if [ `date +%d` != "01" ] then bkType=daily main else bkType=monthly main fi