WordPressのDBとソースファイルをバックアップ/bashのスクリプトで

ワードプレスのデータベースとソースファイルをバックアップするスクリプトを作成してみました。
bashでテストしました。

  1. データベースをdumpしてzipに圧縮して保存
  2. ソースファイルを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でスケジュール作って登録する。


こういうブログもありました。

人気のあるブログ:

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください