
ライブ サーバーとフォールバック サーバーの 2 つのサーバーがあり、どちらも VPS 環境 (Linode と MediaTemple、ただしいつでも変更される可能性があります) でホストされています。これらのサーバーに同一のシェル スクリプト セットを用意したいのですが、もちろん、シェル スクリプトの中には、サーバーによって若干異なる処理を実行する必要があるものもあります。
この文脈では、スクリプトが実行されているサーバーを識別する最善の方法は何でしょうか? 繰り返しますが、これは VPS 環境なので、IP やハードウェアなどを制御することはできません。
「完璧な」答えはないかもしれないことは理解していますので、十分な解決策やベストプラクティスがあれば教えていただければ幸いです。ありがとうございます!
答え1
おそらく「ベスト プラクティス」ではありませんが、これは私にとってはうまくいきます。ホスト名付きの「ライブ サーバー」と「フォールバック サーバー」のルックアサイド リストをテキスト ファイルに用意します。そのリストを使用してサーバーの種類を判断し、適切なアクションを実行します。または、ルックアサイド ファイルにない場合は「ライブ」と想定し、ルックアサイド ファイルにない場合は「フォールバック」と想定します (またはその逆)。または、どちらで/etc/
あるかを示すファイルを追加します (例:/etc/live
または/etc/fallback
)。文字通り無限の可能性があり、最終的に選択するオプションは、1) 最も理解しやすいオプションと 2) 最も使いやすいオプションに基づいて決まります。