Backup-Scripts/btrfs/snapshot

17 lines
327 B
Bash
Executable File

#!/bin/sh
#
# BTRFS rolling snapshots
# CC0 ~caskd
: ${SRC:?'Source not defined'}
: ${SNAPDIR:?'Snapdir not defined'}
: ${SELECTOR:='+%H'}
NAME="$(date "$SELECTOR")"
SNAPSRC="$SRC"
SNAPDEST="$SRC/$SNAPDIR/$NAME"
mkdir -p "${SNAPDEST%/*}"
btrfs subvolume delete "$SNAPDEST"
btrfs subvolume snapshot -r "$SNAPSRC" "$SNAPDEST"