我正在寻找一个脚本,该脚本将使用一个主机文件登录到多个服务器并运行正常运行时间,主机名-I和主机名
到目前为止的脚本
echo"" ;
echo "hostname:" $(ssh $HOST hostname) ;
echo "IP:" $(ssh $HOST hostname -I) ;
echo "uptime" $(ssh $HOST uptime) ;
echo"" ;
达到目标的最佳方法是什么?
假设您只想在终端中输出所有内容:
#!/bin/bash
hosts_file=/path/to/file
username=youruser
while read -r host; do
hostname=$(ssh "${username}@${host}" hostname)
ip_addr=$(ssh "${username}@${host}" hostname -I)
uptime=$(ssh "${username}@${host}" uptime)
echo
{
echo "Hostname:?$hostname"
echo "IP:?$ip_addr"
echo "uptime:?$uptime"
} | column -s\? -t
echo
done <"$hosts_file"
这将遍历hosts_file的每一行,并将整行分配给host
。然后它将设置hostname
,ip_addr
和uptime
到远程机器上的相应的结果。然后它将以列格式回显这些结果。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句