#!/bin/sh
#root権限を得る
if [ "`whoami`" != "root" ]; then
exec sudo -k "$0"
fi
#エラー終了 引数:エラーメッセージ
errorexit() {
read -p "$1" dummy
exit 2
}
#バックアップ先パーティションのUUID
PART_UUID="6059349b-9140-4272-9b84-e8052d72443c"
#バックアップ先パーティションのマウントポイント
MOUNTPOINT=/media/backup
EXCLUDE_LIST=/home/superbacker/exclude-list
TIME=`date +%Y-%m-%d-%H-%M-%S`
#今回のバックアップ先フォルダ
DEST="$MOUNTPOINT/$TIME"
#最後のバックアップへのリンク
LATEST_LINK="$MOUNTPOINT/latest"
mkdir $MOUNTPOINT
mount UUID="$PART_UUID" "$MOUNTPOINT" || errorexit "mount 失敗"
if [ -e "$LATEST_LINK" ]; then
LINK_DEST_OPT="--link-dest $LATEST_LINK"
fi
rsync -aHAXS --exclude-from="$EXCLUDE_LIST" $LINK_DEST_OPT / "$DEST"
#ln -fだとリンクが上書きされない
rm -f "$LATEST_LINK"
ln -sf "$DEST" "$LATEST_LINK"
echo "バックアップ完了"
umount "$MOUNTPOINT" || errorexit "umount 失敗"
rmdir "$MOUNTPOINT"
#ディスクを切断
echo -n 1 > /sys/block/`echo \`blkid -U "$PART_UUID"\` | cut -c 6-8`/device/delete || errorexit "ディスクの切断に失敗"
read -p "press enter" dummy