top  Index  Search  Changes  RSS  Login

Pdumpfs

Debian squeeze で pdumpfs がなくなったので, rsync --link-dest を使った代替スクリプト.

※ 「ese-pdumpfs.sh」みたいに「pdumpfs」を含むスクリプトファイル名にすると, 互換モードで動作します

#!/bin/sh

myname=`basename $0`
usage () {
  cat<<_EOU_
$myname: pdumpfs-like local backup with rsync
(usage) $myname [RSYNC_OPTION...] SRC... DEST
(example) $myname -v --exclude '*~' /home/foo /home/bar /mnt/backup
(note) DEST/YYYY/MM/DD/ is used if the name "$myname" contains "pdumpfs"
_EOU_
  exit 0
}
[ "$2" = "" ] && usage

for x in "$@"
do
    LAST_ARG="$x"
done

CURFORM="%y%m%d-%H%M%S"
echo -n "$myname" | grep -q "pdumpfs" && CURFORM="%d"

DEST="$LAST_ARG"
DIRFORM="%Y/%m"
DIR=`date "+$DIRFORM"`
CUR="$DIR"/`date "+$CURFORM"`
LATEST="latest"
DLATEST="$DEST/$LATEST"
OPT=""
[ -e "$DLATEST" ] && OPT="--link-dest=../../../$LATEST"

mkdir -p "$DEST/$DIR"
rsync -a $OPT "$@"/"$CUR" && [ -e "$DEST/$CUR" ] && ln -snf "$CUR" "$DLATEST"
Last modified:2012/08/16 21:48:03
Keyword(s):
References:[なんでも]