У нас есть два сервера, рабочий и резервный, оба размещены в среде VPS (Linode и MediaTemple, хотя это может измениться в любой момент). Я хочу, чтобы у них был идентичный набор сценариев оболочки, но, конечно, некоторым сценариям оболочки может потребоваться выполнение немного разных действий в зависимости от того, на каком сервере они находятся.
В этом контексте, как лучше всего определить, на каком сервере выполняется сценарий? Опять же, это среда VPS, поэтому мы не можем контролировать IP-адреса, оборудование и т. Д.
Я понимаю, что не может быть "идеального" ответа, поэтому приветствуются любые достаточно хорошие решения или лучшие практики. Спасибо!
Возможно, это не лучшая практика, но у меня это работает. Сделайте внешний список в текстовом файле «действующих серверов» и «резервных серверов» с именами хостов. Используйте этот список, чтобы определить, какой это тип сервера, а затем примите соответствующие меры. В качестве альтернативы, предположите «live», если он не находится в резервном файле, и в этом случае это «резервный» (или наоборот). Или загрузите файл в /etc/
сообщая вам, что это такое (например, /etc/live
или /etc/fallback
). Существует буквально бесконечное количество возможностей, и в конечном итоге тот, который вы выберете, будет зависеть от того, какой из них вы 1) понимаете больше всего и 2) который вам наиболее удобен.