用于从多个服务器查找内核版本的Shell脚本
时间:2020-03-05 15:31:45 来源:igfitidea点击:
在本教程中,我们学习编写一个Shell脚本,该脚本将通过ssh登录到多个服务器并获取内核版本。
所有服务器的列表都放置在“ server_list.txt”文件中。
该脚本将登录到列表中的每个服务器并运行uname命令。
输出将被写入变量,然后写入文件。
该脚本可以帮助管理大型Linux服务器的系统管理员获取有关正在运行的Linux版本的报告。
其中我使用了'uname -r',但是我们可以根据需要编辑和使用自己的命令。
获取内核版本的脚本
以下脚本有助于从多个Linux服务器获取内核信息。
#!/bin/bash #we user variable serverlist to keep there path to file with server names serverlist='server_list.txt' #we write in variable all server list servers=`cat $serverlist` #we use variable result to keep there path to file with result result='result.txt' #this print header to file with resilt using \t\t to add 2 tab symbols echo -e "Servername \t\t kernel version"> $result #this get each line of serverlist one by one and write to server variable for server in $servers do #this login to server by ssh and get uname -r kernel=`ssh root@${server} "uname -r"` #this write server name and kernel version separated by 2 tab to result file echo -e "$server \t\t $kernel" >> $result #end of for loop. done
Shell脚本输出
./kernel_version.sh centos_node1@bobbin:~/Documents/Work/Bobbin$cat result.txt Servername kernel version dev 3.3.8-gentoo web1 3.2.12-gentoo svn 3.2.12-gentoo