Secuencia de comandos de shell para encontrar la versión del kernel de varios servidores
En este tutorial, aprendemos a escribir un script de shell que iniciará sesión en varios servidores a través de ssh y obtendrá la versión del kernel. La lista de todos los servidores se coloca en el archivo ‘server_list.txt’.
El script iniciará sesión en cada servidor de la lista y ejecutará el comando uname. La salida se escribirá en la variable y luego en un archivo.
Este script ayuda a los administradores de sistemas que administran grandes servidores Linux a realizar informes de las versiones de Linux en ejecución. Aquí he usado ‘uname -r’ pero puede editar y usar su propio comando según sus requisitos.
Script para obtener la versión del kernel
El siguiente script ayuda a obtener información del kernel de varios servidores 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 tt to add 2 tab symbols echo -e "Servername tt 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 tt $kernel" >> $result #end of for loop. done
archivo server_list.txt
# cat server_list.txt
dev
web1
svn
Salida de script de 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
Leer también: