我注意到有人創建了一堆在GemFire集羣上運行的腳本,他們在這裏有多個相同腳本的副本,其中腳本之間的唯一區別是服務器名稱。如果我們無法將其存儲在此腳本中,我可以從哪裏獲取服務器主機名?
這裏是Github上回購
的腳本如下的圖片,如:
#!/bin/bash
source /sys_data/gemfire/scripts/gf-common.env
#----------------------------------------------------------
# Start the servers
#----------------------------------------------------------
(ssh -n <SERVER_HOST_NAME_HERE> ". ${GF_INST_HOME}/scripts/gfsh-server.sh gf_cache1 start")
SERVER_HOST_NAME_HERE
= IP地址或服務器名稱,該腳本設計,去掉爲這個問題的目的。
我想用服務器名稱的參數創建一個腳本。問題是:我不確定最佳位置將存儲/檢索服務器IP /主機名稱,並讓腳本引用它,有什麼想法?緩存服務器的數量將因環境,應用程序和羣集而異。
我們的發展管道應該像這樣的理想:
- 用戶提交一個文件到GitHub庫
- 觸發器詹金斯工作
- 詹金斯的工作拷貝文件到每個緩存服務器,採用關閉該服務器
stop_cache.sh
腳本,然後運行start_cache.sh
腳本。緩存服務器的數量因集羣而異。 - GemFire緩存服務器更新爲新文件。
的dns將是這個問題的經典解決方案。你基本上在問如何服務發現。 – raam86
現在,你可以將它們硬編碼到每個文件中。因此,將它們解壓縮到一個單獨的文件中,循環訪問該文件中的條目,然後在$(cat cache_hostnames.txt)中運行'for host。 ./stop_cache.sh $ host;完成「和類似的其他類型的服務? – nos