処理内容解説
え~一応処理内にコメントで説明を入れておきましたのでここでは簡単な説明になりますが、今回の処理はマルチドメイン環境でも動作するよう設定しています。
そのためにmysqlのデータベース一覧をSQL文の「show databases」で取得して、それぞれのデータベース毎にダンプを取得するようにしました。これは新しくwordpressのwebページを追加した場合、その追加分もバックアップの取得対象に含むようにするためです。
mysqldumpのオプションを「–all-databases」でまとめて取得してもよかったのですが、1つのサイトだけリストアする場合等に不便かなと思いそれぞれ取得する方法を選択しています。
また、webページのデータ部分については、ちょっとめんどくさくなってきた一括で取得してもリストアする際や一度解凍してもどせばいいですし、調査する場合もtarコマンドの「t」オプションを使えば見れますので、wordpress格納先全体を取得するようにしています。
他の方法としては、バックアップ取得対象のリストをlsコマンド等で取得して実施する方法や、処理内や外部ファイル内に取得対象をあらかじめ指定しておく方法などもあります。
なお、一応バックアップのイメージとしては下図のような感じです。
まとめ
今回紹介したシェルスクリプトを元に例えば「wordpress-bkup.sh」とかの名前で作成すればいいと思います。
また、シェルスクリプトを作成後はchmodコマンドを使用して実行権限を与えるのを忘れないでください。
なお、バックアップを行う際の注意点を挙げて起きますので参考にしてください。
- バックアップの取得は定期的に行うこと
- バックアップ処理は負荷がかかるため、ページの訪問者が少ない時間帯などに実施すること
- ディスクの空き容量に注意すること
※空き容量についてはシェル内に容量チェック処理(容量をチェックして閾値以上の場合はメールで通知するような処理など)を入れてあげればいいと思いますよ!
以上となりますが、今回の記事が誰か困っている方の手助けになれば幸いです。