「SSH」タグアーカイブ

WordPressのバックアップ方法を変えました

このブログはWordPressというCMS(コンテンツ マネジメント システム)を使っています。

W3Techsが公開したデータによると、全世界のウェブサイトの29%がWordPressで作られているそうです。
世の中のサイトの29%もWordPressで作られてる?
すげーなWordPress…。

WordPressは静的なファイルを公開しているのではなく、動的にデータベースから記事を作り出しています。
ここで重要になるのが、サーバーのバックアップ。

これまでもWordPressのバックアップは定期的とっていましたが、完全にバックアップが完了しないときもありました。
なのでかなり試行錯誤して、いろいろ手を変え品を変え、今回のバックアップ方法にたどり着きました。

わりとまともに動くバックアップ方法は以下の通り。

1.ブログ記事やコメントなどのデータをエクスポートでバックアップ
2.プラグインやテーマなどのデータをSFTPでバックアップ
3.設定項目をコピーしてバックアップ

1.ブログ記事やコメントなどのデータをエクスポートでバックアップ
まずは1番大切な記事やコメントのバックアップを行います。
WordPressでは記事やコメントはデータベースに格納されてます。

WordPressにはこれらの記事をエクスポートする機能があります。
先日までエクスポートに失敗することが多発していたのですが、アドオンを一度全部停止にすることで、ダウンロードがスムーズに行えることが判明しました。
何回も失敗していたのでモヤモヤしていましたが、アドオンを停止することで解決して良かったです。

操作は、管理画面の左メニューの「ツール」から「エクスポート」を選択すればOK。

XML形式のファイルがダウンロードできるので、SSDやハードディスクなどに保存します。

データベースのバックアップがそれだけだとちょっと不安なので、バックアップが取れるプラグインを探しました。
WordPress Database Backup

今回は、上記サイトからWordPress Database Backup 2.2.4のZIPをダウンロードし、「プラグイン」の「新規登録」から「プラグインのアップロード」でインストールしました。

WordPressの管理画面からプラグインを探すほうがウイルス感染などのリスクは低くなると思うのですが、作成者のサイトからダウンロードしたほうが間違ったプラグインを入れる心配がありません。
WordPressって似たようなプラグインがたくさんあって紛らわしいのです…。

あとは管理画面の「ツール」から「バックアップ」を選ぶと、簡単にデータベースのバックアップ&ダウンロードができます。
また定期的にメールでバックアップデータを送信することもできます。

ボクは週に1度、自動的にバックアップを取ってメールで送る設定にしました。

あとせっかくなので、phpMyAdminを使ってデータベースから直接データをエクスポートもしておきました。
 1.サーバー上の phpMyAdmin にログイン。
 2.左ウィンドウで、WordPress データベースを選択。
 3.右ウィンドウに WordPress データベースに含まれるテーブルの一覧が表示されるので、タブメニューで「エクスポート」を選択する。
 4.「簡易」オプションが選択されていることを確認して、「実行」をクリック。
 5.すべてのテーブルが SQL 形式でエクスポートされるので、エクスポートされたファイルを保存する。

これだけやっておけば、ほぼデータベースのバックアップは万全でしょう。

2.プラグインやテーマなどのデータをSFTPでバックアップ
WordPressで使っている、写真や画像などをバックアップ(ダウンロード)します。

Webサーバーにあるファイルをダウンロードしますが、特に重要なのは、
・plugins(プラグイン)
・themes(テーマ)
・uploads(写真や画像など)
となります。

ただ、サーバーまるごとバックアップしようとすると、Cacheデータなどもダウンロードしちゃうのでオススメしません。

FTP(File Transfer Protocol)やFTPS(File Transfer Protocol over SSL/TLS)を使うと、サーバーからローカルにファイルをダウンロードしている間に途中で止まったりすることがありました。
なので、SFTP(SSH File Transfer Protocol)を使ったダウンロード(バックアップ)のほうがいいです。

今のところ、SFTPでダウンロードに失敗したことはありません。
安定しています。

しかし、すべてのサーバーがSSHを使えるわけではありません。
ロリポップだと、安価なプランではSSHが使えません。
月額500円~のスタンダードプランからのみSSHが利用可能になります。

SFTPを利用するためにWinSCPというオープンソースクライアントプログラムを使っています。

3.設定項目をコピーしてバックアップ
WordPressの設定の中の「更新情報サービス(ping)」と「パーマリンク設定」は重要なので、テキストにコピーして保存します。
まあ、これは一度コピー&保存しておけば、何度もバックアップしなくてもいいですね。

1.と2.でダウンロードしたファイルと3.のテキストをファイルを大切に保存しておきます。
ボクの場合はGoogle Driveに全部入れています。

ただし、ダウンロードしたファイルをそのまま全部Google Driveと同期を取ると、uploadsに入っている写真や画像などが自動的にGoogleフォトに入ってしまいます。
なので、uploadsをZIPで圧縮してからGoogle Driveにアップします。
そうするとGoogleフォトに勝手に画像があがりません。

と、ここまでのバックアップは手動でやらなくてはならないので、ちょっと不安です。
こんな作業を毎日、毎週、定期的にやるのは難しいので…。

ということで、結局、ロリポップのバックアップオプションに入ることにしました。
月額324円で過去7回分、7世代まで自動的にバックアップを取ってくれます。

バックアップオプションでは
(1)Webサーバー、データベースサーバーのバックアップ
(2)バックアップファイルのダウンロード
(3)Webデータ、データベースの復元機能
があって、バックアップ周期は手動/1日/3日/7日/15日/30日 より選べます。

ボクは3日毎にバックアップをとることにしました。
毎日バックアップ取りたいところですが、毎日にすると過去7日前までしか逆上れないので…バックアップの間隔、期間が短いのは不安です。
また、毎日毎日ブログを書いているわけではありませんし。

まあ、このように自動バックアップと定期的なバックアップをとっておけば安心かなーと。
そこそこアクセスもあるブログになってきているので、バックアップはとても大切だなーと思いました。

それでは、よいブログライフを…。