WordPressのDBとソースファイルをバックアップ/bashのスクリプトで
ワードプレスのデータベースとソースファイルをバックアップするスクリプトを作成してみました。
bashでテストしました。
- データベースをdumpしてzipに圧縮して保存
- ソースファイルをINTERVAL_DAYの指定日の間隔で保存
参考にさせていただきました
スクリプト
#!/bin/bash
DB_NAME=【データベース名】
DB_USER=【データベースのユーザ名】
DB_PASSWORD=【データベースのパスワード】
KEEPDAY=7
INTERVAL_DAY=3
PREFIX=【バックアップ名】
SERVER=localhost
NOWDATE=`date +%Y%m%d`
NOWDAY=`date +%d`
DESTDIR=【バックアップする場所】
DUMPFILE=$PREFIX.$NOWDATE.dump.gz
SRCDIR=【ワードプレスのソースがある場所】
SRCTARFILE=$PREFIX.$NOWDATE.src.tar.gz
cd $DESTDIR
# MySQLダンプ(zipで圧縮する)
echo $DUMPFILE
mysqldump --single-transaction -u $DB_USER -p$DB_PASSWORD $DB_NAME --opt | gzip > $DUMPFILE
# ソーフファイルはインターバル(INTERVAL_DAY)を指定してバックアップを取る事にする
if [ `expr $NOWDAY % $INTERVAL_DAY` == 0 ]; then
#ログは出さない
echo $SRCTARFILE
tar zcf $SRCTARFILE $SRCDIR
fi
# 処理判定
# -e ファイル 指定したファイルが存在すれば真を返す
if [ ! -e $TARFILE ]; then
echo "backup faild -- ($DUMPFILE)"
exit 1
fi
# ソースファイルのチェックはこれではマズイのでもう一度考える
#if [ ! -e $SRCTARFILE ]; then
# echo "backup faild -- ($SRCTARFILE)"
# exit 1
#fi
# 古くなったファイルを削除
echo "以下のファイルを削除しました"
find . -mtime +$KEEPDAY
find . -mtime +$KEEPDAY -exec rm -f {} \;
echo "終了!"
残りの作業
crontabでスケジュール作って登録する。





