2/04/2011

btrfsのバックアップ運用

ちょっと考えてみた

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

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

WSKY Bluetooth 5.0 トランスミッター レシーバー買いました

安くレシーバーモードでapt-x HDが使えるものというと非常に限られますが そのなかで高音質と評判のよかったものをということで購入しました。 音質は安いなりですね、apt-x HDで接続されている状態でも元がなんであれ痩せた音になります。 SBSにしか対応していない...