Cuando se manejan varios servidores al mismo tiempo puede darse que se necesite ejecutar un mismo comando en todos ellos.Por ejemplo para borrar un usuario, para realizar actualizaciones, para instalar un paquete,...

Con este script podrás hacerlo automaticamente, este te mostrará la salida del comando para cada servidor. Lo único que tendrás que tener configurado es la key rsa de root.

 

 

 

#!/sbin/bash
# Need RSA root key configured in servers in /root/.ssh/authorized_keys
declare -A servers
servers[servername]="1.1.1.1"


if [[ -z "$1" ]];then
	echo "[!] Need command for execute"
fi

if [[ "$2" == "-y" ]];then
        echo "[+] Accept directly command $1"
else
	read -p "[?] You like exec ( $1 ), Are you sure? [y/N]: " response
	if [[ "$response" != "y" ]];then
		echo "exit ..."
		exit 0
	fi
fi

for server in ${!servers[@]}; do
	printf "[i] Exec command $1 in $server ["
	result=$(ssh root@${servers[$server]} "$1")
	if (( ! $? ));then
		printf "+]\n"
	else
		printf "-]\n"
	fi
	echo "[i] Result >>>>"
	echo "$result"
	echo "[i] <<<< Result "
        
done

 

 

  • No se han encontrado comentarios

Deja tus comentarios

Enviar un comentario como invitado

0 / 300 Restricción de Carateres
El texto debe estar entre 2-300 caracteres
Sus comentarios están sujetos a moderación por un administrador.