WordPressサイトをローカルにフルバックアップする方法(ファーストサーバ問題を受けて)

Add newクリック Apple Mac
Add newクリック

 

(お約束)ご利用は自己責任でお願いします

MovableType版はこちら

ファーストサーバ問題により、バックアップをサーバに置いておいても意味無いじゃん!ってことになってきてます(´・ω・)

で、違うオンラインストレージを借りてそこにバックアップするのもいいんですが、お金がかかります。
せっかくの目の前にパコソンがあるので、そのHDD内にバックアップしようという話です。
ローカルに落とせばMacのTimeMachineで世代管理も完璧です。

どうやってやるの?

方法としては

  1. 「BackWPup」プラグインにてDBやアップロードしたファイル、プラグイン、テーマなどサイトの完全バックアップを取得
     ※余談ですが、Wordpressをアップデートするときにも簡単にフルバックアップが取れるのでこのプラグインはオススメです。
  2. それをシェルコマンドwgetにてローカルにダウンロード
     ※OSXには標準でwgetがインストールされていないです。そんなときはMacportsを入れてwgetをインストール
     ※Windowsでwgetはこれまたインストールすれば動くでしょう。
  3. それをcronにて自動化
     ※OSXでは標準で入っているはずです。Windowsでcronはどうか知りません(笑)。でもWinには他に自動化するツールとかありそうですけどね。
これを一回設定さえすれば、 ワードプレスサイトの完全なバックアップがローカルHDDにゲットできます。
 (ちなみに「BackWPup」プラグインで他のサーバーにバックアップする方法やメールで送る方法などは他に書いている人がいっぱいいるのでググってみて下さい。 )

まずはWordPressのバックアップから

まずは「BackWPup」プラグインの設定。WordPress › BackWPup « WordPress Plugins にあるので、インストールして有効化します。
で、Add newクリック。
Add newクリック
Add newクリック

 

まずはDBをバックアップ指定。デフォルトで全部取得すればOKです。

取得するDBのテーブル
取得するDBのテーブル

 

次にサイトのファイル(アップロードした写真など)を指定します。全バックアップするので、全チェック。要らないものがある人はExcludeで除いて下さい。

サイトのファイル(アップロードした写真など)を指定
サイトのファイル(アップロードした写真など)を指定

 

で、このバックアップをどこに保存するかを指定します。数字はバックアップする数です。古いものは自動で削除されます。どうせローカルに落とすので、二個で十分。

バックアップをどこに保存するかを指定
バックアップをどこに保存するかを指定

 

バックアップする間隔を設定します。自分は毎日バックアップします。一週間に一回でOKな人はweeklyにするなどご自分で決めて下さい。

毎日バックアップ
毎日バックアップ

 

バックアップするファイル名を指定します。

バックアップするファイル名を指定
バックアップするファイル名を指定

 

エラーログをメールで受け取るにはここをチェック。

エラーログをメールで受け取る
エラーログをメールで受け取る

 

で、完全バックアップするので、Job Typeはフルチェック。で、最後に「Save Changes」をクリックして保存して下さい。

Job Typeはフルチェック
Job Typeはフルチェック

 

で、最初の画面に戻るとこんな感じで設定が終了していると思います。

最初の画面に戻る
最初の画面に戻る
ここで「Run now」をクリックして一度バックアップを取ってみます。こんな感じで動き始めます。
一度バックアップを取ってみます
一度バックアップを取ってみます

 

エラーが出たら赤字で表示されるので分かると思います。エラーが出なければがバックアップは成功です。ヽ(´ー`)ノバンジャ−イ

ダッシュボードでも確認できます。

ダッシュボードでも確認
ダッシュボードでも確認

以上ここまでが「BackWPup」プラグインの設定でした。

バックアップをローカルにダウンロード

さて次にこのサーバ内にあるバックアップファイルをローカルにwgetでダウンロードしてきます。shを使って書きます。
これを backupget.sh などとして保存します。

#!/bin/csh -f
#
WgetFunc=”/usr/local/bin/wget”
BackUpLocalDir=”(ローカル側のディレクトリを指定 例:/Volumes/HDD/full_backup )”

LogFile=”(ログファイルを指定 例:/Volumes/HDD/full_backup/log.txt”
FtpAccount=”(FTPアカウント名)”
FtpPass=”(FTPパスワード)”
FtpServer=”(FTPサーバ名)”
FtpDir=”(ダウンロードしたいサーバ側のディレクトリ名 例:/home/hoge/Backup/)”

#

${WgetFunc} -r -nc -P ${BackUpLocalDir} -a ${LogFile} ftp://${FtpAccount}:${FtpPass}@${FtpServer}${FtpDir}
#

-r は必ず付けて下さい。これを付けないとディレクトリをダウンロードできません。あとのオプションなどは各自調べてみてください。Linuxコマンド集 – 【 wget 】 ファイルをダウンロードする:ITpro

これをターミナル.appで動かしてみて下さい。

xxxxx:$ sh backupget.sh
動けばちゃんとローカルディレクトリにダウンロードしてくるはずです。こちら参考にしてください。
で、ちゃんと動くことがわかれば、cronにて自動化します。crontabコマンドで打ってもいいんですが、使いやすいアプリがあるので、それを使うことにします→cronnix
cronにて自動化
cronにて自動化

 

とこんな感じで設定すれば、毎日3時半に勝手にダウンロードしてくれて、ローカルに完全なバックアップが手に入ります。

 

(お約束)ご利用は自己責任でお願いします

 

 

 

コメント

  1. […] (ワードプレス版はこちら) […]

タイトルとURLをコピーしました