这似乎是一个非常受欢迎的问题,根据您查看的论坛,它有大约 1,000 个不同的答案。不幸的是,没有一个对我有用。
我正在尝试编写一个 bash shell 脚本,该脚本通过 SSH 连接到服务器列表并运行一个简单的stop <x> service
命令来关闭每台机器上的应用程序服务器。
要手动执行此操作:
ssh user@server01.ourdomain.tld
user@server01.ourdomain.tld's password: ourpassword
Last login: Fri Nov 30 14:37:51 2012 from <some-ip-addr>
server01:[user@machinename ~]# (now we are SSHed in)
所以我问:给定一组服务器名称(server01
通过server25
),我如何编写一个 bash 脚本以 SSH 连接到所有服务器并运行service ourservice stop
?该脚本一旦启动就不需要任何人工交互,因此应该为 SSH 命令提供适当的密码 ( ourpassword
) 以供使用。此外,我需要在脚本 SSH 进入每个服务器后正确退出(或关闭连接),这样我们就不会挂起资源(打开连接等)。提前致谢。