ssh 到多個伺服器並執行應用程式特定命令而不是作業系統命令

ssh 到多個伺服器並執行應用程式特定命令而不是作業系統命令

我的來源伺服器腳本嘗試 ssh 到多個伺服器並運行應用程式特定的命令,我可以說,除了作業系統命令(如 cat、chmod ..)之外,我收到類似命令的錯誤:找不到。下面是腳本。

for host in $(cat hosts_list.txt)
do
ssh $host chk_auto_up > "cmd_output.txt"
done

任何人都可以幫忙,我必須在腳本中包含什麼來識別命令並運行並寫入檔案的輸出?

我出錯說找不到指令

答案1

你只需編輯該行:

ssh $host /path/of/chk_auto_up > "cmd_output.txt"

定義命令的絕對路徑。

答案2

我找到瞭如何透過 ssh 遠端運行外部命令的答案。

for host in $(cat /***/thishost/**/username/hosts_list.txt)
do
ssh "$host"
. /**/***/*****/*****/******.${HOST}  
chk_auto_up >> "/****/thishost/***/*****/cmd_output.txt"
exit
done

細節:

  1. hosts_list.txt --> 我有透過 ssh 登入的伺服器列表
  2. ssh "$host" --> ssh 登入發生在第一台伺服器上。
  3. . /**/***/*****/*****/******.${HOST}--> 外部命令二進位路徑可在此處取得
  4. chk_auto_up >> "/****/thishost/***/*****/cmd_output.txt" --> 執行指令並將輸出寫入來源伺服器。

相關內容