Sun microsystemsがoracle社に買収されてからというもの
イケてるファイルシステム、zfsを使う為だけにsolarisを使っていましたが
solaris自体の行く末が心配される今日このごろ。
運用の為に、定期的にバックアップを取得するスクリプトを
書いてましたので、書き留めておく。
☆スナップショット取得
getsnapshot.sh
----------------------------------------------------------------------------
snapname=$1@`date +%Y%m%d_%H%M`
zfs snapshot $snapname
----------------------------------------------------------------------------
※crontabに getsnapshot.sh rpool/ROOT とか引数で
指定して実行すると、 rpool/ROOT@20101021_0300 などという
スナップショットが作成されます。
☆30世代より前のスナップショット削除
destsnapshot.sh
----------------------------------------------------------------------------
snapshots=(`zfs list -t snapshot | grep $1 | awk '{print $1;}'`)
declare -i length
declare -i delno
length=${#snapshots[@]}
length=$length-1
delno=$length-30
while [ $delno -ge 0 ];
do
zfs destroy ${snapshots[$delno]}
delno=$delno-1
done
----------------------------------------------------------------------------
※crontabに destsnapshot.sh rpool/ROOT とか引数で
30世代より前のスナップショットが廃棄されます。
もちろんown your liskでお試し下さいませ。
イケてるファイルシステム、zfsを使う為だけにsolarisを使っていましたが
solaris自体の行く末が心配される今日このごろ。
運用の為に、定期的にバックアップを取得するスクリプトを
書いてましたので、書き留めておく。
☆スナップショット取得
getsnapshot.sh
----------------------------------------------------------------------------
snapname=$1@`date +%Y%m%d_%H%M`
zfs snapshot $snapname
----------------------------------------------------------------------------
※crontabに getsnapshot.sh rpool/ROOT とか引数で
指定して実行すると、 rpool/ROOT@20101021_0300 などという
スナップショットが作成されます。
☆30世代より前のスナップショット削除
destsnapshot.sh
----------------------------------------------------------------------------
snapshots=(`zfs list -t snapshot | grep $1 | awk '{print $1;}'`)
declare -i length
declare -i delno
length=${#snapshots[@]}
length=$length-1
delno=$length-30
while [ $delno -ge 0 ];
do
zfs destroy ${snapshots[$delno]}
delno=$delno-1
done
----------------------------------------------------------------------------
※crontabに destsnapshot.sh rpool/ROOT とか引数で
30世代より前のスナップショットが廃棄されます。
もちろんown your liskでお試し下さいませ。
#
by anotherkid
| 2010-10-21 11:40