使用config创建shell脚本以运行基本命令ssh与输出的连接

时间:2013-04-22 17:11:34

标签: bash scripting ssh

我正在创建一个带有配置文件的小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。

1 个答案:

答案 0 :(得分: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