一括でロールバックする手段はなさそうだから
あまり有り難味はないかもしれない
とりあえずバックアップ用のスクリプトを用意した
bashじゃなきゃだめ
しかもrootfsからみて2階層目までしか取得できない
/etc/snap.confをこんな内容で作成する
SNAP_DIR=(/ /home/user1 /home/user2)
それぞれのパーティション直下に.snapshotっていうサブボリュームを作っておく
なまえが気に入らなければ変数にして合わせて内容を変えればOK
#!/bin/bash
SNAP_DIR=(/)
_CONF="/etc/snap.conf"
##
_BTR_BIN=`which btrfs`
_SNAP_DEST_DIR=()
source "$_CONF"
_S_C=0
_D_C=0
_expr() {
i=0
for _A in $*
do
if [ "$_A" = "/" ]; then
_SNAP_DEST_DIR[$i]="/.snapshot/rootfs_"`date '+%Y%m%d'`
else
_B=`echo $_A | awk -F/ '{print $2}'`
_C=`echo $_A | awk -F/ '{print $3}'`
_SNAP_DEST_DIR[$i]="${_A/$_B/$_B/.snapshot}/"
if [ -z "$_C" ]; then
_SNAP_DEST_DIR[$i]="${_SNAP_DEST_DIR[$i]}"$_B"_"`date '+%Y%m%d'`
else
_SNAP_DEST_DIR[$i]="${_SNAP_DEST_DIR[$i]/"$_C"\//$_C}""_"`date '+%Y%m%d'`
fi
fi
i=`expr $i + 1`
done
}
_expr ${SNAP_DIR[@]}
_S_C=${#SNAP_DIR[@]}
_D_C=${#_SNAP_DEST_DIR[@]}
_I=0
while [ $_I -lt $_S_C -a $_I -lt $_D_C ]
do
$_BTR_BIN sub snap ${SNAP_DIR[$_I]} ${_SNAP_DEST_DIR[$_I]}
_I=`expr $_I + 1`
done
No comments:
Post a Comment