WordPressのSQLデータベースを自動でバックアップしましょ

WordPressのデータベースを毎日自動でバックアップするshファイルをネットで検索した方法を元にzipで固めて保存するように書いてみました。

#!/bin/sh

# バックアップファイルを残す日数を指定します
period=7
# バックアップファイルを保存するディレクトリ
dirpath='/hogehoge_backup_directory_name'

# ファイル名で日付がわかるようにしておきます
filename=`date +%y%m%d`

# mysqldump実行
mysqldump --opt --password=YourSQLDBpassword wordpress_db > $dirpath/$filename.sql

# パーミッション変更
chmod 700 $dirpath/$filename.sql

# 古いバックアップファイルを削除
oldfile=`date --date "$period days ago" +%y%m%d`
oldzip=`date --date "$period days ago" +%y%m%d`sql
rm -f $dirpath/$oldfile.sql
rm -f $dirpath/$oldzip.zip

# ZIP ファイルを作成します
zip $dirpath/`date +%y%m%d`sql.zip $dirpath/`date +%y%m%d`.sql

私は保存するディレクトリをWebDAVのフォルダにして、クライアントからサクサク取れるようにしておきました。

このshファイル(例:ファイル名 hogehoge.sh)を保存後、実行可能なファイルにするためにパーミッションを変更します。

# chmod +x hogehoge.sh

毎日朝5時にバックアップしますので、cronに登録します。

# crontab -e

crontabに書く内容です。

0 5 * * * /shファイルを置くディレクトリ/hogehoge.sh

これで毎朝5時に7日分のバックアップファイルが出来上がりますので、WindowsやOSXなクライアントにWebDAV経由で持ってきておけばイザという時も安心です。