【第7回】Hubサーバー構築:Cronとシェルスクリプトで作る「司令塔」


個別のサイト改修が終わった後は、いよいよ全自動バックアップの要となる「Hubサーバー」の構築です。1つのサーバーを司令塔とし、シェルスクリプト(run-all.sh)をCronで毎月自動実行させる仕組みを作りました。

このスクリプトの肝は「静的サイト」と「WordPress」の自動判別です。
WordPressサイトの場合はデータベースのバックアップが必要ですが、セキュリティ対策として wp-config.php が公開ディレクトリ(public_html)の1つ上の階層に置かれているケースがあります。スクリプト内に「1つ上の階層も探しに行く」というロジックを追加し、正確な自動判別を実現させました。

編集後記:
シェルスクリプトのエラー(特に条件分岐の些細な構文ミス)の沼にハマり、何度もテストを繰り返していたら、窓の外からチュンチュンと鳥の声が……。気づいたら朝でした。