# vi /root/90DayDataBackup.sh
#!bin/sh
PATH=/usr/local/sbin:/usr/bin:/bin
## ----------------------------------------------------------
NAME="example.com-ファイル90日世代管理"
NOW_DATE=`date +%Y%m%d`
DATA_PATH="/root/backup/example.com/data/"
BACKUP_PATH="/root/backup/example.com/data/${NOW_DATE}"
DELETE_DAY=`date -d '90 day ago' +%Y%m%d`
## ----------------------------------------------------------
error ()
{
echo "【Error Backup】${NAME} HOST:`hostname` `hostname -I`" | mail -s "Backup Error ${NAME} HOST:`hostname` `hostname -I`" root
exit
}
success ()
{
echo "【Success Backup】${NAME} HOST:`hostname` `hostname -I`" | mail -s "【Success Backup】${NAME} HOST:`hostname` `hostname -I`" root
}
# バックアップ関数
backup ()
{
# バックアップディレクトリ作成
mkdir -p ${BACKUP_PATH}
# バックアップ
/usr/bin/rsync -avvuz --progress -e "ssh -p xxx22 -i /root/.ssh/example.com.ppk" example-user@xxx.yyy.zzz.aaa:/var/www/data/ ${BACKUP_PATH} 1>/dev/null
# 90日前のディレクトリを削除
rm -rf ${DATA_PATH}/${DELETE_DAY}
}
# 変数空チェック
if [ -z "${NOW_DATE}" ] || [ -z "${DATA_PATH}" ] || [ -z "${BACKUP_PATH}" ] || [ -z "${DELETE_DAY}" ] ; then
error
fi
# バックアップ実行
backup && { success; exit 0; }