borg-backup (779B)
1 #!/usr/bin/env bash 2 3 case "$1" in 4 "close") 5 doas umount /mnt/archive 6 doas cryptsetup luksClose archive 7 ;; 8 9 "create") 10 name="dwrz@main.dwrz.net-$(TZ=UTC date '+%FT%T%z')" 11 borg create -v --progress --exclude /home/dwrz/.cache/ \ 12 /mnt/archive/dwrz-backup/::"${name}" /home/dwrz/ 13 ;; 14 15 "list") borg list /mnt/archive/dwrz-backup/ ;; 16 17 "mount") borg mount /mnt/archive/dwrz-backup/ \ 18 /mnt/archive/mnt 19 ;; 20 21 "open") 22 doas cryptsetup luksOpen /dev/sda1 archive 23 doas mount /dev/mapper/archive /mnt/archive/ 24 ;; 25 26 "prune") borg prune --keep-last 1 -m 12 --save-space \ 27 /mnt/archive/dwrz-backup/ 28 borg compact /mnt/archive/dwrz-backup/ 29 ;; 30 31 "unmount") borg umount /mnt/archive/mnt ;; 32 33 *) err "$0: unrecognized command: $1" ;; 34 esac