#!/bin/sh
export LANG=ja_JP.UTF-8

# Ver 20111218

# バックアップ保存先ディレクトリ
DIR="/win/BackUp/"

# 特定の曜日のみ取得するバックアップを変更するか否か。「yes」で有効（デフォルト無効。毎日一定バックアップ）
# 有効化すると、月曜のみフルバックアップ、他曜日は一部のみバックアップと差別化が可能となります。
BACKUP_TYPE="no"

# バックアップ後に詳細メールを送信するか否か。「no」で無効。（デフォルト有効）
MAILMESSAGES="yes"
# メール送信先アドレス。（デフォルトroot宛）
MAILADDRESS="root"

if  [ $BACKUP_TYPE = "no" ] ; then
# 特定の曜日のみ取得するバックアップを変更する設定を"無効化"した場合。（デフォルト設定）
# バックアップファイルの指定（デフォルト「/home」「/root」「/var/」）
	LIST="/etc /home /root /var"
else

# 特定の曜日のみ取得するバックアップを変更する設定を"有効化"した場合。
# 曜日取得
	DATE_W=`date '+%w'`
# フルバックアップ用、曜日判定(デフォルト「1」=月曜日)
	if  [ $DATE_W -eq 1 ] ; then
# バックアップファイルの指定
# 月曜のみフルバックアップ(保存先である「/Win」以外全てをバックアップ)
		LIST=`ls / | egrep -v "win"`
	else
# 火～日曜は一部のみバックアップ(デフォルト 「/home」「/root」「/var/log」「/var/www」）
		LIST="/home /root /var/log /var/www"
	fi
fi

# タイムスタンプ設定
LOG_DATE=`date '+%Y%m%d'`

# バックアップ開始
mkdir $DIR$LOG_DATE
cd /
echo "----------バックアップ処理開始----------" >> $DIR$LOG_DATE/backup.log
tar czvfP $DIR$LOG_DATE/backup.tar.gz $LIST >> $DIR$LOG_DATE/backup.log 2>&1
echo "----------バックアップ処理終了----------" >> $DIR$LOG_DATE/backup.log

# 古いバックアップの削除（デフォルト7日）
echo "" >> $DIR$LOG_DATE/backup.log
echo "-----不要バックアップファイル削除開始-----" >> $DIR$LOG_DATE/backup.log
find $DIR -type d -mtime +6 -exec rm -rfv {} \; >> $DIR$LOG_DATE/backup.log 2>&1
echo "-----不要バックアップファイル削除終了-----" >> $DIR$LOG_DATE/backup.log

# メール送信
if [ $MAILMESSAGES = "yes" ] ; then
        cat $DIR$LOG_DATE/backup.log | mail -s "$0" $MAILADDRESS
fi

