Commit | Line | Data |
---|---|---|
f6b4ffdc MW |
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 |