wordpressのバックアップ取得方法について
前述したとおり、wordpressでバックアップをとる場合はwebページのデータ(サーバ上のファイル)とデータベースを取得することになりますが、もしこの記事を閲覧されている方がサーバやデータベースの知識に長けていない初心者の方であればプラグインを使用することをオススメします。
ありがたいことにwordpressはプラグインが豊富にあり、バックアップ用のプラグインでも複数存在します。
(いや~ほんとプラグインってありがたいですよね~!開発者の皆様にはホント感謝感謝です。)
バックアッププラグインの有名どころとしては「BackWPup」や「BackUpWordPress」、「WP-DBManager」などがあります。
これらプラグインの使用方法については、既にいろいろな方が記事にされていますので、「[プラグイン名] 設定」とか「[プラグイン名] 利用方法」とかで検索すればいろいろな情報が出てくると思いますので当記事では割愛したいと思います。
ここで問題となるのが、プラグインが使用できない環境の方や、プラグインを使用したが思ったとおりに動作しなかった方です。
私の周りでも「○○のプラグインを使用したけどエラーが起きた~」とか「何故か動かないんだけど…」という方がいますが、プラグインは便利な反面、エラー等予期せぬ動作が起こったとき初心者の方では対応が難しいと思います。
wordfpressをバックアップするためのサンプルスクリプト
ということでやっと本題ですが、wordpressのバックアップをシェルスクリプトで取得するためのサンプルスクリプトを紹介したいと思います。
※なお、下記処理はあくまでサンプルです。もちろん動作確認はしていますが、シェルで取得する場合のやり方はいくらでもあるので他にもいくつも方法があります。
#!/bin/bash ############################################ # # wordpress_bkupシェルスクリプト # ############################################ ############################################ # 設定 ############################################ #念の為PATHが通ってない環境用に定義 PATH=/bin:/usr/bin:/usr/local/bin #日付定義 YMD=`date +%y%m%d` #webページのデータのバックアップ先を指定 FILE_BKDIR="/home/sample/BKUP/FILE" ###MySQL用定義### #mysqlユーザ MYS_DBUSER="sample" #mysqlログインパスワード MYS_DBPASSWD="sampledb" #mysqlデータベースサーバ名 DB_NAME="mysqldb.sample" #mysqlのバックアップ先を指定 MYS_BKDIR="/home/sample/BKUP/DB" TODAYS_MYS_BKDIR="$MYS_BKDIR/`date +%Y%m%d`" #mysqlデータベース一覧取得用 MYS_DATABASES=`mysql -NB -u$MYS_DBUSER -h $DB_NAME -p$MYS_DBPASSWD -e 'show databases'` ############################################ # DBバックアップ取得処理 ############################################ # 当日分のDBバックアップ格納先を作成 [ ! -d $TODAYS_MYS_BKDIR ] && mkdir -p $TODAYS_MYS_BKDIR # DBのダンプを取得 for MYSDB in $MYS_DATABASES do mysqldump -u$MYS_DBUSER -h $DB_NAME -p$MYS_DBPASSWD --opt --skip-lock-tables $MYSDB | gzip > $TODAYS_MYS_BKDIR/$MYSDB.dump.gz done # 容量確保の為古いバックアップを自動で削除する場合はコメントアウトを外し有効にしてください # なお下記は10日以前のバックアップを削除するとなっています #find $MYS_BKDIR -type d -mtime +10 -print0 | xargs -0 rm -rf ############################################ # wordpress_webページデータ(サーバ上のファイル)をバックアップ ############################################ cd $FILE_BKDIR # /home/sample/www部分はご自身の環境に合わせて変更してください tar czvf www_$YMD.tar.gz /home/sample/www #古いバックアップを自動で削除する場合の為に入れておきますので有効にする場合はコメントアウトを外してください #find $FILE_BKDIR -type d -mtime +10 -print0 | xargs -0 rm -rf