pdumpfs もどき作ってみた
pdumpfs が保守がながい事されてないので
なんでだろーと思ってたら、不具合起きてないのと
rsyncに似たオプションが新設されてたんですな。--link-destってオプション。
当然rsyncの方が早いんです。そらrubyのスクリプトと比べる方が無理あるか。
で、pdumpfsちっクに気軽に使えて、古いのをバッサリ消す様なノリでスクリプト書いてみた。
pdumpfs.sh sourcedir backupbasedir
で動きます。
sourcedir には最後スラッシュ付けないでねー
一応動きますが、無保証です。
判るだけが勝手に使ってください。
#!/bin/sh
DIR=$1
BACKUPBASEDIR=$2
COUNT=30
NOW=BACKUP_`date +"%Y-%m-%d"`
TMPFILE=`mktemp -t /tmp`
BACKUPDIR=$BACKUPBASEDIR/$NOW/
find $BACKUPBASEDIR -depth 1 -maxdepth 1 -type d ! -iname $NOW | sort > $TMPFILE
BACKUPCOUNT=`cat $TMPFILE | wc -l`
DELCOUNT=`expr $BACKUPCOUNT - $COUNT`
if [ $DELCOUNT -gt 0 ] ; then
DELLIST=`cat $TMPFILE | head -n $DELCOUNT`
echo $DELCOUNT
rm -rf $DELLIST
fi
OLDDIR=`cat $TMPFILE | tail -n1`
echo $OLDDIR
if [ $OLDDIR ] ; then
echo "Incremental backup"
rsync -av --delete-after --link-dest=$OLDDIR $DIR $BACKUPDIR
else
rsync -a $DIR $BACKUPDIR
fi
rm $TMPFILE
なんかあればフィードバックして貰えると嬉しいかも。
テンポラリに書き出してるのがちょっとアレなんだけど、そうしないと旨く動いてくれないのよね。
なんでだろーか