一括でロールバックする手段はなさそうだから
あまり有り難味はないかもしれない
とりあえずバックアップ用のスクリプトを用意した
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