Release 1.1.1.
[rsync-backup] / mount-backup-volume
1 #! /bin/sh -ex
2
3 : ${vgtag=@backup} ${vgprefix=vg-backup-}
4 : ${mntbkpdir=/mnt/bkp}
5 : ${STOREDIR=$mntbkpdir/store} ${METADIR=$mntbkpdir/meta}
6
7 vgs=$(vgs --noheadings -oname)
8 found=nil
9 for vg in $vgs; do
10 case "$found,$vg" in
11 nil,$vgprefix*)
12 found=t
13 tag=${vg#$vgprefix}
14 ;;
15 t,$vgprefix*)
16 echo >&2 "$0: multiple backup volumes attached"
17 exit 1
18 ;;
19 esac
20 done
21 case $found in
22 nil) echo >&2 "$0: no backup volumes attached"; exit 1 ;;
23 esac
24 vg=$vgprefix$tag
25
26 vgchange -ay $vg
27 mount /dev/$vg/meta $METADIR
28
29 cryptop decrypt backup <$METADIR/crypt.blob |
30 cryptsetup luksOpen --key-file=- /dev/$vg/crypt cbackup
31 mount /dev/mapper/cbackup $STOREDIR