如何使用txt文件中的bash循环重新启动多台计算机

如何使用txt文件中的bash循环重新启动多台计算机

有人知道如何仅用一行 bash 代码(通过循环自身)重启计算机吗?详细信息将从文本文件中获取,即每台计算机的 IP 地址。当脚本获取计算机的 IP 地址时,它将进入并重启计算机。我该怎么做。

答案1

选项 1# 使用 for 循环

for host in $(< inputfile.txt );
do 

    ssh $host shutdown -r now 

done

选项 2# 使用 xargs

xargs -n1 -I{} echo ssh {} shutdown -r now  < inputfile.txt

注意:你需要SSH 无密码登录或者它会询问输入文件中列出的每个主机的密码

答案2

#!/usr/bin/env bash

for SERVER in `cat servers.lst`
do
 ssh -tttq -o StrictHostKeyChecking=no -o CheckHostIP=no -o ConnectTimeout=5  $SERVER "sudo su -c 'uname -n;uptime;reboot' "
done

相关内容