[WordPress] シェル + cron でデータベースをバックアップする

ロリポップのレンタルサーバを使って WordPress を運用している場合の例です。
以下のスクリプトを backup.sh などのファイル名で保存し、FTP ソフトでサーバにアップロードします。
レンタルサーバが提供している cron 機能でスクリプトを定期的に実行するようにします。(私は毎日1回実行させています。)


#!/bin/sh

# Mysqlユーザ名
mysql_user=xxxxxxxx

# Mysqlユーザパスワード
mysql_pw=xxxxxxxx

# ホスト名
host_name=xxxxxxxx

# バックアップ先
save_dir=~/web/xxxxxxxx/backup/

# バックアップファイル名
bak=`date +%Y_%m_%d`

# バックアップするDB
mysql_db_name=xxxxxxxx

# バックアップファイルを残す数
max_save_count=3

mysqldump --opt -u $mysql_user --password=$mysql_pw -h $host_name $mysql_db_name > $save_dir$bak.sql
chmod 644 $save_dir$bak.sql

zip $save_dir$bak.sql.zip $save_dir$bak.sql

rm -rf $save_dir$bak.sql

file_count=`ls -F1 $save_dir | grep -v / | wc -l`
if [ $file_count -gt $max_save_count ] ; then
rm -rf $save_dir`ls -F1tr $save_dir | grep -v / | head -n 1`
fi

私の場合は、バックアップ先を WordPress インストールディレクトリ内にすることで、ファイルのバックアップ時に一緒にデータベースのバックアップもダウンロードしています。

Be Sociable, Share!

[WordPress] シェル + cron でデータベースをバックアップする」への1件のフィードバック

コメントを残す

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