我有一个包含这种格式的 17 个服务器的列表
172.16.1.4 #servername-A
172.16.2.75 #servername-B
172.16.5.53 #servername-C
172.16.5.61 #servername-D
Run Code Online (Sandbox Code Playgroud)
我想要一个脚本,它可以 ssh/登录到这些服务器中的每一个并关闭它们,这很容易,但问题是它们需要按照上面显示的特定顺序(在列表中)关闭,其中每个在下一次关闭开始之前,前一个必须完全关闭。
也许:
while read ip rest_of_line; do
ssh user@$ip sudo poweroff
done < server.file
Run Code Online (Sandbox Code Playgroud)
当远程服务器上的 ssh 守护进程关闭时,ssh 命令将返回。这不是机器断电时的情况。您可能希望在该sleep命令之后添加一个ssh命令。
您的用户应该配置为sudo poweroff无需提供密码。请参阅visudo
手册页。