-1

我正在考虑创建一个带有配置文件的小型 shell 脚本,我可以在其中设置需要检查的服务器的 IP,并执行一些简单的命令,例如 who、date、uname 等,并将输出打印到文件中。

更新

这是我目前拥有的:

#!/bin/bash
USERNAME=xxx
HOSTS="localhost localhost"
SCRIPT="uname -a; who; who -b; date; df -h; id"

for HOSTNAME in ${HOSTS} ; do
        echo "${HOSTS}" >> output.log
        ssh -l ${USERNAME} ${HOSTNAME} "${SCRIPT}" >> output.log
        echo "" >> output.log
        echo "" >> output.log
done

有什么方法可以在输出中提供适当的主机 IP 地址/主机名?目前它将打印所有行 HOSTS,因此在每次输出初始化时显示 localhost localhost。

4

1 回答 1

0

在所有远程服务器上创建 ssh 密钥 - 为本地服务器上的用户(您):

for node in server1 server2 server3
do
    ssh $node  "uname -a && who"
done

或者对于一堆命令:

for node in server1 server2 server3
do
    echo "$node"
    for cmd in 'who'  'ls *.pdf' 
    do
        ssh $node  "$cmd"
    done
done
于 2013-04-22T17:16:22.650 回答