保守の自動化を進める中で、厄介なイレギュラーケースに遭遇しました。「1つのドメインの中に、法人向け(/wp/)と個人向け(/sub/)の2つのWordPressが別々にインストールされている」という特殊な環境です。
これまでのバックアップシステムは「ドメイン名」をキーにしてログや通知を生成していたため、この環境を登録するとログファイルや死活監視のURLが衝突(上書き)してしまう問題が発生しました。
解決策として、保守スクリプトに SITE_LABEL(識別子)と CHECK_URL(実際の監視URL)という変数を導入。設定ファイルごとにこれらの値を変えることで、同居環境でも競合することなく個別に管理できるようになりました。
編集後記:
ログが混ざって訳が分からなくなった時は思わず頭を抱えましたが、変数を分離するアイデアを思いついた瞬間は脳汁が出ました。でも、その後の検証作業で完全にエネルギーを吸い取られました……。