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