[snapshot-rootfs] added configuration options + ask to remove last snapshot
This commit is contained in:
parent
735fecf95e
commit
c9ecf555c8
|
@ -1,8 +1,36 @@
|
|||
#!/usr/bin/bash
|
||||
# snapshot-rootfs.sh
|
||||
#
|
||||
# In your /etc/profile, export the following variables
|
||||
# LVM_VG_ROOTFS=vg0
|
||||
# LVM_LG_ROOTFS_NAME=rootfs-arch
|
||||
# LVM_ROOTFS_SNAPSHOT_SZ=10G
|
||||
source /etc/profile
|
||||
|
||||
crash() {
|
||||
echo $1;
|
||||
exit 1;
|
||||
}
|
||||
|
||||
[ \
|
||||
-n "$LVM_VG_ROOTFS" \
|
||||
-a -n "$LVM_LG_ROOTFS_NAME" \
|
||||
-a -n "$LVM_ROOTFS_SNAPSHOT_SZ" \
|
||||
] || crash "Missing one of the LVM variables for snapshot-rootfs.sh";
|
||||
|
||||
VG=vg0
|
||||
ROOTFS=rootfs-arch
|
||||
SZ=10G
|
||||
DATE=`date +%Y%m%dT%H%M`
|
||||
|
||||
lvcreate -n $ROOTFS-$DATE --snapshot -L $SZ $VG/$ROOTFS
|
||||
LAST_SNAPSHOT_NAME=`lvs --select "origin = $LVM_LG_ROOTFS_NAME" \
|
||||
--noheadings -o "data_percent,lv_name" 2>&1 \
|
||||
|sort -n|grep -o '[^[:space:]]\+$'`
|
||||
|
||||
echo "The last snapshot's name is : $LAST_SNAPSHOT_NAME. Remove it? (y/n)"
|
||||
|
||||
read REMOVE_LAST_SNAPSHOT
|
||||
|
||||
[ $REMOVE_LAST_SNAPSHOT = "y" ] && lvremove $LVM_VG_ROOTFS/$LAST_SNAPSHOT_NAME
|
||||
|
||||
lvcreate -n $LVM_LG_ROOTFS_NAME-$DATE \
|
||||
--snapshot \
|
||||
-L $LVM_ROOTFS_SNAPSHOT_SZ $LVM_VG_ROOTFS/$LVM_LG_ROOTFS_NAME
|
||||
|
||||
|
|
Loading…
Reference in New Issue