メニューを開く
ラベル リストア の投稿を表示しています。 すべての投稿を表示
ラベル リストア の投稿を表示しています。 すべての投稿を表示

2019/03/17

ホームサーバー 〜WordPressブログ バックアップ/リストア〜

以前、レンタルサーバーのCPU使用制限超過でリダイレクトされてしまった時には、WebサーバーもWordPressブログも起動出来ていたので、phpAdminでWordPressデータベース全てのバックアップを取りましたが、今回はWebサーバーもWordPressブログもPHPも動いていない状況です。そして、ホームサーバーなのでFTPは使わずに直接外付けディスクを接続してWordPressブログのWebページをバックアップできます。

データベースバックアップ/リストア

最初にデータベースのバックアップを取ります。ホームサーバーなので外付けディスクを直接接続して、転送容量を気にせずにバックアップを取ることができるので、念のため全データベースのバックアップを取ることにします。何度も調べなくて良いように、特定のデータベースをバックアップ/リストアするコマンドも残しておくことにします。
MySQLデータベースバックアップ
特定のデータベースのみバックアップする場合
mysqldump --single-transaction -u ユーザー名 -p DB名 > 出力ファイル名

全データベースをバックアップする場合
mysqldump --single-transaction -u ユーザー名 -p -x --all-databases > 出力ファイル名

MySQLデータベースリストア
特定のデータベースのみリストアする場合
mysqldump -u ユーザー名 -p DB名 < バックアップファイル名

全データベースをリストアする場合
mysqldump -u ユーザー名 -p < バックアップファイル名

 WordPressブログバックアップ/リストア

次にWordPressブログのバックアップです。こちらも、転送容量を気にせずにバックアップを取ることができるので、念のため全データのバックアップを取ることにします。あちこち見ないで良いように、最低限のデータをバックアップ/リストアする方法も残しておくことにします。リストアは、各ディレクトリにバックアップしたデータを上書きすれば良いのですが。
WordPressブログバックアップ
最低限のデータのみバックアップする場合
1.~/wp-config.php
2.~/wp-content/plugin/   ⇒ プラグイン格納
3.~/wp-content/themes/ ⇒ テーマ格納
4.~/wp-content/uploads/ ⇒ アップロードデータ格納

全データをバックアップする場合
WordPressのインストールディレクトリ配下の全データ
データベースのリストアでなく、WordPressのエクスポート機能で出力したXMLファイルをインポート機能でリストアする場合は、以前、使用していたテーマ、プラグインを有効にし、以前と同じパーマリンク設定をしてから、XMLファイルをインポート機能でリストアして下さい。正しく記事が復元されないのでくれぐれも注意して下さい。

使用していたテーマ、プラグイン、以前と同じパーマリンク設定が思い出せなくても手間は掛かりますが、最後の手段が有ります。MySQLのバックアップデータやWordPressのエクスポート機能で出力したXMLファイルは、テキストエディターで開くと記事の内容を読み取ることが出来るので、コピー&ペーストなどで復元することが可能です。

ただし、データベースのバックアップには、記事の履歴(修正の度に保存される各リビジョンのデータ)も含まれていますので、最新の情報を見るようする必要があります。

2019/03/03

ホームサーバー 〜WordPressブログ システムバックアップ〜

ホームサーバーで、運用していたWordPressブログサイト、MataKitena BlogがOSのアップグレード失敗で起動できなくなったトラブル対応の続きです。システムバックアップとリストアについて記事を残しておきます。

システムバックアップとは

システムバックアップとは、いざという時のためにパーティションやハードドライブ全体のイメージをバックアップすることをいいます。本来は、今回のようにサーバー自体が起動できなくなる可能性があるOSのアップグレードなどの作業を実施する場合には、事前にシステムバックアップをしておけば、リストアすることで元に戻すことが出来るので安心できます。とはいえ、ハードドライブ自体が壊れてしまった場合、復元することは不可能なので壊れる前にバックアップすること。更に、同一システム内のハードドライブでは、不注意や予期しない事態で壊れることもありますので、外付けのハードドライブやクラウドにバックアップデータを保存するようにしましょう。

システムバックアップの方法は

ddコマンドを利用します。ddコマンドはdataset definitionの略で、ディスクに限らずデータをLowレベルで読み書きできるので、データの中身を無視して操作でき、OSが読み取れないファイルシステムでフォーマットされている場合にもバイナリーレベルで読み書きすることができます。 バックアップしたいドライブ以外から起動する必要があるので、Bootable USBやBootable DVDなどを作成しておきましょう。ddコマンドは、ifで指定した入力ファイルを指定されたブロックサイズで、必要に応じて変換をしながらofで指定した出力ファイルにコピーすることができます。OSのディストリビューションやバージョンにより異なる場合もありますので、利用するシステムのmanコマンドで調べたり、確認して下さい。
ddコマンド書式
dd [--help] [--version] [if=file] [of=file] [ibs=bytes] [obs=bytes] [bs=bytes] [cbs=bytes] [skip=blocks] [seek=blocks] [count=blocks] [conv={ascii, ebcdic, ibm, block, unblock, lcase, ucase, swab, noerror, notrunc, sync}]

今回はどうしたの

今回、ディスクユーティリティで起動ディスクを調べてみると.../dev/sda1と/dev/sda2の2パーティションが存在しました。準備しておいたBootable CDから起動して、それに合わせ、より大きな容量の外付けディスクに、より大きなサイズのパーティションを作成してシステムバックアップを実行しました。リストアは、if=で指定した入力ファイルとof=で指定した出力ファイルを入れ替えるだけです。まだ、WordPressブログが起動できていないですが、何か起こったとしても現在の状況までは戻すことが出来ます。
参考:今回実行したコマンド
dd if=/dev/sda1 of=/dev/sdb1 bs=64k conv=noerror,sync status=progress
dd if=/dev/sda2 of=/dev/sdb2 bs=64k conv=noerror,sync status=progress
あとは、データベースを含め、WordPressブログをバックアップして、本格的に復旧作業に備えます。