Bash 使用config创建shell脚本以运行基本命令ssh连接并输出
我正在考虑创建一个带有配置文件的小型shell脚本,在这里我可以设置需要检查的服务器的IP,并执行一些简单的命令,如who、date、uname等,并在文件中打印输出 更新 这就是我目前拥有的:Bash 使用config创建shell脚本以运行基本命令ssh连接并输出,bash,scripting,ssh,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 "${HOST
#!/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地址/主机名吗?当前,它将打印所有行主机,因此在每次输出初始化时显示localhost localhost。在所有远程服务器上为本地服务器上的用户(您)创建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
我也希望有人能给我一个如何自动输入服务器密码的手,如果可能的话。