ConoHa WINGの自動バックアップからWebサイトを復元する方法

ConoHa WINGの自動バックアップからWebサイトを復元する方法

ある日、僕が管理していたお客様のWordPressサイトに突然アクセスできなくなりました…。
ブラウザにはエラーメッセージが表示され、管理画面にもログインできない——。データが改ざんされたようで完全に手詰まりの状態です。

しかし、ConoHa WINGの自動バックアップ機能を使うことで、無事にサイトを復旧できました。

今回はそのときの経験をもとに、データベースは無事だけどWeb領域(ファイル)だけを復元したいというケースで、SSHを使った復旧手順を初心者にもわかりやすく解説します。

目次

ConoHa WINGの自動バックアップ機能とは?

ConoHa WINGでは、自動的に過去7日分のバックアップが保存されています。 万が一サイトが壊れても復元が可能です。しかも追加料金なしなのは嬉しい!

このバックアップは「Web領域(サイトファイル)」「データベース」「メール」が分けて保存されており、どれか一つだけを復元するができるのでとっても便利です。

手順①リストアデータをダウンロードする

それでは早速リストアする手順を解説します。

STEP
自動バックアップページにアクセスする

まずは、ConoHaのコントロールパネルにログインします。
そして、左メニューから【サーバー管理】→【自動バックアップ】をクリックして自動バックアップページにアクセスします。

ConoHa 自動バックアップページ
STEP
リストアを実行する

希望する日付の「リストア可」ボタンをクリックすると、「リストアを開始しますか?(この操作は取り消せません)」というモーダル画面が表示されます。

ConoHa 自動バックアップ リストア

リストア」ボタンをクリックして実行すると、リストアが開始されます。

リストアとは?

「リストア」とは、バックアップしておいたデータを元に戻す操作のことです。パソコンの「復元」やスマホの「初期化+データ復旧」と似たようなイメージです。

今回は「Web(ファイル)」だけを復元するので、WordPressのテーマやプラグイン、画像などのファイルが元の状態に戻ります。データベース(記事や設定)は変更されません。

STEP
リストアデータを確認する

リストアされたデータは「 /home/ユーザー名/backup_data_web/public_html/ドメイン名/ 」に保存されます。
コントロールパネル内のファイルマネージャーなどを利用してデータができているか確認してください。

以上でリストアが完了です。…と言いたいところですが、実際はまだ復元できていません。
ここまでの作業はあくまでも「以前のデータをサーバー内にダウンロードしただけ」です。ここからは自分で復元作業を行わなければいけません!

手順②リストアする

ダウンロードしたリストアデータを本番ディレクトリへコピーして復元します。

STEP
SSHで接続する

ConoHaのサーバーへSSH接続します。Macはターミナル、WindowsはTera Termなどのソフトを利用してください。
接続コマンドは以下の通りです。(緑色部分は自身の環境に合わせて変更してください)

ssh c0123456@www123.conoha.ne.jp -p 8022 -i ~/.ssh/key-2000-01-23-45-67.pem


SSH接続の事前準備については以下の記事に詳しく解説していますのでご覧ください。

なぜFTPではなくSSHを利用するのか?

「FTPでバックアップデータをアップロードすればいいのでは?」と思うかもしれません。ですが、FTPでの大量データ転送は時間がかかりすぎるうえに、途中で止まるリスクなどがあります。
その点、SSHでのコマンドは高速かつ安全にファイルを同期できるため、リストア作業にはSSHが最適です。

STEP
現在のデータを念のため保存する(バックアップ)

万が一リストアに問題があったときに備えて、現在のサイトデータを保存しておきましょう。
tarコマンドでディレクトリまるごとアーカイブファイルにします。

tar -czvf wordpress-backup_$(date +%Y%m%d_%H%M%S).tar.gz /home/ユーザー名/public_html/ドメイン名/

実行するとカレントディレクトリ(現在のディレクトリ)に「wordpress-backup_日時.tar.gz」というファイルが保存されます。
作成できたアーカイブファイルはローカルにダウンロードするなりして保存しておきましょう。

STEP
リストアデータを本番ディレクトリへコピー

次に、リストアされたバックアップデータを本番ディレクトリに上書きコピーします。以下のコマンドを実行します。

rsync -av –delete /home/ユーザー名/backup_data_web/public_html/ドメイン名/ /home/ユーザー名/public_html/ドメイン名/

このコマンドは、ファイルをすべて上書きコピーし、存在しないファイルは削除します。簡単に言うと、バックアップデータと本番データが全く一緒になります。追加したデータがある場合、削除されますので注意してください。

追加したデータは削除せずに、リストアデータを上書きコピーしたい場合は、以下のコマンドに変えて実行してください。

rsync -av /home/ユーザー名/backup_data_web/public_html/ドメイン名/ /home/ユーザー名/public_html/ドメイン名/

「–delete」というオプションが無くなっただけですね。状況によってどちらにするか検討してください。

STEP
パーミッションの調整

コピーしただけではファイルのパーミッション(アクセス権)が崩れている可能性があります。 以下の3つのコマンドで調整します。

find /home/ユーザー名/public_html/ドメイン名 -type d -exec chmod 755 {} \;

find /home/ユーザー名/public_html/ドメイン名 -type f -exec chmod 644 {} \;

chmod 440 /home/ユーザー名/public_html/ドメイン名/wp-config.php

このコマンドで、ディレクトリは「755」に、ファイルは「644」にパーミッションを変更しています。
「wp-config.php」ファイルはWordPressの設定ファイルであり、データベースの接続情報や認証情報などが記載された非常に重要なファイルです。そのため、所有者と同グループのユーザーが読み取り可能な「440」パーミッションにするのが安全です。

お疲れ様でした。以上でリストアは完了です!
サイトにアクセスして復旧できているか確認してください。

番外編:データ改ざんでパーミッションが壊れている場合

WordPressが改ざんされた場合、ファイルのパーミッション自体が異常になっていることがあります。
そのままではtarコマンドなどがエラーになってできませんので、以下のコマンドでパーミッションを修正してから再度実行してみてください。

find /home/ユーザー名/public_html/ドメイン名 -type d -exec chmod 755 {} \;
find /home/ユーザー名/public_html/ドメイン名 -type f -exec chmod 644 {} \;
chmod 640 /home/ユーザー名/public_html/ドメイン名/wp-config.php

注意点:root権限は付与されていません

ConoHa WINGの環境ではroot権限(管理者権限)は与えられていません。そのため、sudoコマンドは使用できないので注意してください。

それでも、ConoHa WINGのバックアップ機能のおかげで、ユーザーレベルでもかなり高度な復元作業が可能です。特に今回のようにWebファイルだけを差し替えたいケースでは非常に役立ちます。

これからConoHa WINGを契約するなら

このブログは、ConoHa WINGで運用しています。表示速度が速く、WordPressも簡単に始められて本当に快適です。
もし、まだConoHa WINGを契約していないなら、ぜひこの機会に試してみてください。

初期費用ゼロ&月額わずか数百円から始められる高性能サーバーとして、個人ブロガーやフリーランスに圧倒的人気を誇っています。

👉 キャンペーンも随時行っていますのでこまめにチェックしてみてください↓↓

ConoHa WING公式サイトで詳細を見る

よかったらシェアしてね!
  • URLをコピーしました!
目次