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"
Keyword(s):
References:[なんでも]