
我們有兩台伺服器,即時伺服器和後備伺服器,兩者都託管在 VPS 環境中(Linode 和 MediaTemple,儘管這可能隨時發生變化)。我希望它們有一組相同的 shell 腳本,但當然,某些 shell 腳本可能需要根據它們所在的伺服器執行稍微不同的操作。
在這種情況下,識別腳本正在哪個伺服器上運行的最佳方法是什麼?再次強調,這是一個 VPS 環境,因此我們無法控制 IP、硬體等。
我知道可能沒有“完美”的答案,因此任何足夠好的解決方案或最佳實踐都會受到讚賞。謝謝你!
答案1
可能不是“最佳實踐”,但這對我有用。在有主機名稱的「即時伺服器」和「後備伺服器」的文字檔案中包含一個後備清單。使用該清單確定伺服器的類型,然後採取適當的操作。或者,假設“實時”,除非它位於後備文件中,在這種情況下,它是“後備”(反之亦然)。或觸摸一個文件來/etc/
告訴您它是什麼(例如/etc/live
或/etc/fallback
)。實際上有無限多種可能性,最終您選擇的一種將基於您 1) 最理解和 2) 最舒服的一種。