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" --> 运行命令并将输出写入源服务器。

相关内容