comando en ejecución en máquina remota usando ssh
-
10-07-2019 - |
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?
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:
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é!