WordPressを使ってブログを運用している皆さんはブログデータのバックアップはどうしていますでしょうか。
自動的にバックアップを取ってくれるプラグインを使っています
気が向いたときに、バックアップを取ってくれるプラグインを動かしています
何もしていないです
当ブログは2020年10月から、別のブログは2012年12月から、それぞれWordPressを使って運用していますが今までにバックアップが必要になったことは幸いにも一度もありません。
しかし、いつ何が起こるか分かりませんのでバックアップは取っておいた方がいいと思います。
プラグインを使う場合はそちらに任せておけば大丈夫ですが、プラグインを入れたくない場合もあるかと思います。
今回はサーバーにログインしてコマンドでバックアップを取る方法を紹介します。
リストアについてはこちらの記事をご覧ください。
前提条件
- SSHログインもしくはサーバーコントロールパネルなどに実装されているコンソールからサーバーにログインできること
- CLIに慣れていること
バックアップ対象
WordPressの場合、ブログを構成するためのデータは「ファイル」と「データベース」に格納されています。
この二つのバックアップを取ることになります。
ファイルはWordPressのディレクトリが対象です。
wp-config.phpや、wp-contentディレクトリが入っているディレクトリです。
データベースはWordPressインストール時に指定したデータベースが対象です
ファイルのバックアップのコマンド例
対象となるディレクトリをtarコマンドでアーカイブして、容量節約のためにgzip形式で圧縮します。
上記のディレクトリが「/var/www/wordpress」だと仮定します。
cd /var/www
sudo tar -zcvpf backup.tar.gz wordpress # パーミッション情報やタイムスタンプを維持する場合
tar -zcvf backup.tar.gz wordpress # sudoコマンドが使えない場合
sudoコマンドを使った場合は-pオプションが指定されたと見做されるようですが、一応明示的に指定します。
レンタルサーバーなどでsudoコマンドが使えない場合は-pオプションを外してバックアップします。
生成されたbackup.tar.gzを別の場所に保存しておきます。
データベースのバックアップのコマンド例
対象となるデータベースをmysqldumpコマンドでダンプします。
当該データベースへの接続情報については、ユーザー名は「blog」、パスワードは「blogpass」、データベース名は「wpdb」と仮定します。
パスワードはコマンドを実行すると聞かれるので入力します。
mysqldump -u blog -p wpdb > wpdb.sql
生成されたwpdb.sqlを別の場所に保存しておきます。
必ず別の場所に移動すること
生成されたバックアップファイルをそのまま同じサーバーに保存しておいても意味がありません。
万が一サーバーが復旧不能になった場合、ブログデータと一緒にバックアップファイルも全て消えてしまいます。
ダウンロードしてローカルPCに保存しておく、クラウドストレージに上げておく、など別の場所に保存しておいてください。
まとめ
サーバーにログインすることができれば簡単にバックアップを取得することができます。
一度もバックアップを取ったことがないという方は万が一に備えて今すぐにでも取っておくことをオススメします。
ログインに際して、VPSであればなんの問題もないと思いますが、レンタルサーバーの場合は制限がある可能性があります。
私が以前使っていたレンタルサーバーはさくらインターネットのものとConoHaのものでしたが、どちらもSSHでログインすることができました。
また、cronも使うことができたと記憶しているので定期的に上記のコマンドを実行させれば自動バックアップの仕組みを簡単に構築することができます。
大切なブログを守るため、バックアップを取りましょう!
コメント