あいしんくいっと

ありきたりだけど、少しだけ役に立つことをありのままに書こうと思う。

RaspberryPI2でWordPressのバックアップを取得する方法について

time 2016/01/15

ども。あいしんくいっと(@ithinkitnet)です。

RaspberryPI2を使い始めてどの位の時が流れたのだろうか・・・。

というのはさておき、今回は「RaspberryPI2を使ってWordPressのバックアップを定期的に取る方法」をご紹介したいと思います。
(まぁ、RaspberryPI2でなければならないワケではないのですが・・・それは)

WordPressのバックアップについてググッてみたんですけど、どれもこれもプラグインが必要だったり、phpMyAdminといったものを使ったバックアップ手法ばかり紹介されていて正直面倒です。
サーバについてある程度知識があるのであれば、DBエクスポートとWordPressの特定データを取得しておくだけでWordPressのバックアップは事足ります。

というワケで、今回紹介するのは「サーバに関してある程度知識がある方」向けのバックアップ方法です。

sponsored link

必須条件

必須というか、前提条件は以下の通り。

・サーバにパスワード無しでSSH接続(公開鍵認証)出来て、パッケージインストールが自由に出来ること
・バックアップ先に潤沢なHDD領域が確保されていること
・データベースは「MySQL or MariaDB」

ちょっと敷居が高い・・・?

WordPressでバックアップしておくべきモノは?

WordPressは大きく分けてWeb(php含む)、DB部分に分かれています。
大まかにWeb部分には画像データやプラグインデータが置かれていて、DB部分には投稿した記事データが格納されています。(細かい部分はあるのでしょうがw)

ということを踏まえ、個人的には以下のデータをバックアップすれば事足りると思っています。
・wp-content以下の「plugins,themes,uploads」

・DB内のWordPress用データ

MariaDB [(none)]>; show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| ithinkitnet | ←私の環境だとコレ!
| mysql |
| performance_schema |
+--------------------+

どのデータベースが使われているのかは「wp-config.php」をみれば分かります。

~略~
/** WordPress のためのデータベース名 */
define('DB_NAME', 'ithinkitnet');
~略~

さらにデータベースへ接続するユーザとパスワードも記載されているのでコチラを控えておきましょう。
~略~
/** MySQL データベースのユーザー名 */
define('DB_USER', '<任意のユーザ>');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', '任意のパスワード');
~略~

上記のデータを取得しておけば、リストアする際にも困らずに済むように思います。
まぁ、環境によって多少の過不足はあるかも知れないですが・・・。

RaspberryPI2にスクリプトを仕込んで定期的に実行させる

私の環境では、RaspberryPI2に簡単なバックアップスクリプトを仕込んで定期的に処理をさせてます。

エラーハンドリングも分岐も関数定義も無い、適当かつベタ書きなスクリプトですが、参考程度に載せておきますw
個人レベルだとコレでじゅうぶん事足りてますw

========= 参考 =========

#!/bin/sh
# Local Backup Directory
WorkDir=/backup
BackupDir=${WorkDir}/$(date +%Y%m%d)
R_BackupDir=<WordPressのバックアップフォルダ:ext)/var/www/wordpress>

# BKDir Check
if [ ! -e ${BackupDir} ]; then
mkdir -p ${BackupDir}
chmod 755 ${BackupDir}
fi

# Make Backup1 Directory
if [ ! -e ${BackupDir1} ]; then
mkdir ${BackupDir1}
chmod 755 ${BackupDir}
fi

# Make Backup2 Directory
if [ ! -e ${BackupDir2} ]; then
mkdir ${BackupDir2}
chmod 755 ${BackupDir}
fi

# Make Backup3 Directory
if [ ! -e ${BackupDir3} ]; then
mkdir ${BackupDir3}
chmod 755 ${BackupDir}
fi

# MariaDBバックアップ
ssh <ユーザ名>@<接続サーバIP or FQDN> "mysqldump -u <任意のユーザ> -p<任意のパスワード> <DB名> > /<バックアップ先>/<バックアップDB名>_$(date +%Y%m%d).sql"

# ローテーション
# ssh <ユーザ名>@<接続サーバIP or FQDN> ”find + xargs" とかでよしなに

# SCPバックアップ
scp -rp <ユーザ名>@<接続サーバIP or FQDN>:${R_BackupDir}/themes ${BackupDir}/

scp -rp <ユーザ名>@<接続サーバIP or FQDN>:${R_BackupDir}/uploads ${BackupDir}/

scp -rp <ユーザ名>@<接続サーバIP or FQDN>:${R_BackupDir}/plugins ${BackupDir}/

scp -rp <ユーザ名>@<接続サーバIP or FQDN>:/<バックアップ先>/<バックアップDB名>_$(date +%Y%m%d).sql" ${BackupDir}/

# Old Backup Erace
# find + xargsとかでよしなに

========= 参考ここまで =========

上記スクリプトですが、実際に動かしているスクリプトから編集かけてるので、そのままだと動きませんw
利用するのであれば、ご自身でカスタマイズして使ってくださいね。

私の環境では上記スクリプトでRaspberryPI2から一方的にバックアップ取得したあと、取得したバックアップデータを自宅NASに転送してます。(RaspberryPI2のローカルディスクは16GBしかないので)

「備えあれば、憂いなし」

定期的にWordPress環境をバックアップして、万が一に備えましょう!

sponsored link

down

コメントする




*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

Author

あいしんくいっと

あいしんくいっと

あいしんくいっとの中の人。

ありきたりだけど、自分なりの視点で少しでも人の役に立つ記事をありのままに書くをモットーに。 たまには役立つことが書けると良いかな。

サイトポリシーはこちら

聞きたいことがあれば、気軽にツイートください♪可能な範囲でお答えします。
follow us in feedly

Twitter

オススメ記事

アーカイブ