Bash script para ssh múltiples servidores en un bucle y emitir comandos
Tengo un archivo de texto en el que tengo una lista de servidores. Estoy tratando de leer el servidor uno por uno del archivo,SSH
en el servidor y ejecutels
para ver los contenidos del directorio. Mi bucle se ejecuta una sola vez cuando ejecuto elSSH
comando, sin embargo, paraSCP
se ejecuta para todos los servidores en el archivo de texto y sale, quiero que el bucle se ejecute hasta el final del archivo de texto para SSH. A continuación se encuentra mi script bash, ¿cómo puedo hacer que se ejecute para todos los servidores en el archivo de texto mientras hago?SSH
?
#!/bin/bash
while read line
do
name=$line
ssh abc_def@$line "hostname; ls;"
# scp /home/zahaib/nodes/fpl_* abc_def@$line:/home/abc_def/
done < $1
Ejecuto el script como$ ./script.sh hostnames.txt