正常运行时间脚本帮助

贾布尔

我正在寻找一个脚本,该脚本将使用一个主机文件登录到多个服务器并运行正常运行时间,主机名-I和主机名

到目前为止的脚本

echo"" ; 
echo "hostname:" $(ssh $HOST hostname) ;
echo "IP:" $(ssh $HOST hostname -I) ;
echo "uptime" $(ssh $HOST uptime) ;
echo"" ;

达到目标的最佳方法是什么?

jesse_b

假设您只想在终端中输出所有内容:

#!/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然后它将设置hostnameip_addruptime到远程机器上的相应的结果。然后它将以列格式回显这些结果。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章