[samba-jp:21429] smbsnap簡易btrfs版

takasi.yano @ nifty.com takasi.yano @ nifty.com
2011年 5月 23日 (月) 22:42:57 JST


矢野です

smbsnapの簡易btrfs版を作ってみました。shadow_copyをSamba側に仕掛けてあれ
ばクライアントから以前のバージョンを使うことが出来ます。smbsnap-btrfs.
shは、cronで定期実行します。

smbsnap-btrfs.shの中身

#!/bin/bash
typeset -a SnamVolumes
. /etc/samba/smbsnap-btrfs.conf
SnapDate=$(date -u +%Y.%m.%d-%H.%M).00
for l in ${SnapVolumes[*]}; do
        v=`echo $l | cut -d\; -f1`
        let k=`echo $l | cut -d\; -f2`
        logger `/sbin/btrfs subvolume snapshot $v $v/\@GMT-$SnapDate`
        let c=`/bin/ls $v | /bin/grep "^@GMT-" | /usr/bin/wc -l`
        if [ $c -gt $k ]; then
                let d=$c-$k
                z=(`/bin/ls $v | /bin/grep "^@GMT-" | /usr/bin/sort | /
usr/bin/head -n $d`)
                for x in ${z[*]}; do
                        logger `/sbin/btrfs subvolume delete $v/$x`
                done
        fi
done

/etc/samba/smbsnap-btrfs.confの中身

SnapVolumes=('/home/user;14')

ディレクトリ名;保存バージョン数
14を指定しスナップショット一日2回なら7日分となります。



samba-jp メーリングリストの案内