LINUX

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:

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar