Pregunta

Quiero ejecutar algún comando en varias máquinas usando ssh. Sé que se puede hacer simplemente usando el comando '' ssh user @ hostname command ''. Sin embargo, el comando que quiero ejecutar imprime alguna cadena en la consola. ¿Hay alguna forma de devolver todas las cadenas a la consola en la que estoy?

¿Fue útil?

Solución

Puede ejecutar los comandos en una pantalla :

screen -S test
ssh user@hostname command1
ssh user@hostname2 command2

A continuación, puede separar (Ctrl-D) de la pantalla, dejar que se ejecute durante el tiempo que se ejecute, luego volver a adjuntar (prueba de pantalla -r) a la pantalla y ver toda la salida. Sin embargo, esto supone que no tendrá una tonelada de salida de los comandos. Aquí hay un enlace a un tutorial en pantalla .

Otros consejos

 ssh user@hostname command 

Hace exactamente eso. si 'comando' genera algo, se mostrará en la terminal desde la que ejecutó ssh. Intenta p. ssh user @ hostname ls -l

Pero como otros han dicho, la pantalla GNU es invaluable para este tipo de trabajo.

Probablemente quiera usar Pantalla Gnu para esto. Puede iniciar un proceso en un " virtual " terminal, "desconectar" el terminal y cierre la sesión durante el tiempo que desee ... Luego puede volver a conectar ssh y volver a conectar el terminal para ver la salida de la consola.

También eche un vistazo a nohup , por ejemplo:

ssh usuario@dominio.com nohup script_that_outputs_strings.py > the_strings.txt

Luego, si desea regresar y monitorear el progreso, puede revisar y tail el archivo o scp la salida de regreso a su máquina local.

¿Por qué no te devuelves un correo electrónico? ¿O utilizar un archivo de registro y scp a su computadora actual? de lo contrario, no lo sé!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top