]>
code.delx.au - monosys/blob - lvm/bsnap
75d8f1b32667932537a34347296bd6ceccad5968
8 cat /etc
/fstab |
awk '{print $5 " " $1 " " $2;}' |
while read -r dump dev mnt
; do
9 if [ "$dump" = 1 ]; then
10 echo "bind mount $mnt"
11 mount
--bind "${mnt}" "/a${mnt}"
12 elif [ "$dump" = 2 ]; then
13 read -r lvname vgname _
< <(lvdisplay
--noheadings -C "$dev")
14 echo "snapshot ${vgname}/${lvname}"
15 lvcreate
-L1G --snapshot --name "${lvname}snap" "${vgname}/${lvname}"
16 mount
-o ro
"${dev}snap" "/a${mnt}"
22 tac /etc
/fstab |
awk '{print $5 " " $1 " " $2;}' |
while read -r dump dev mnt
; do
25 if [ "$dump" = 1 ]; then
26 echo "umount $snapmnt"
27 mountpoint
-q "$snapmnt" && umount
"$snapmnt"
28 elif [ "$dump" = 2 ]; then
29 echo "umount $snapmnt"
30 mountpoint
-q "$snapmnt" && umount
"$snapmnt"
32 echo "unsnapshot $snapdev"
33 [ -b "$(readlink -f "$snapdev")" ] && echo y | lvremove
"${dev}snap"
38 if [ "$(id -u)" -ne 0 ]; then
45 if [ "${1:-}" = "off" ]; then
47 elif [ "${1:-}" = "on" ]; then
50 echo "Usage: $0 on|off"