Recuperar una sesion SSH

Tema: 

Hola a todos!

En una de mis esporádicas incursiones en linux me encontré con una inquietud que no he podido develar.

Resulta que mientras estaba haciendo mantenimiento en un servidor "remoto" (no esta tan lejos, pero bueno... ;) )utilizando una consola SSH, se interrumpió la conexión entre mi computador y el servidor, por lo que me quedó una tarea de instalación (yum install bla bla bla) en proceso. Al ingresar nuevamente, intenté ejecutar nuevamente el proceso de instalación pero un mensaje me comunicó que el proceso ya se estaba ejecutando. Al mirar los procesos pude ver que todavía estaba en memoria y luego el proceso terminó (me imagino que por algún timeout de la consola SSH anterior).

Al observar este comportamiento me surgió la siguiente inquietud... ¿Es posible recuperar una sesión SSH y continuar lo que se estaba haciendo?

Sobre todo porque en estos dias me tocó compilar un programa que se demoró unas 3 horas entre el "./configure" y el "make install"... y supongamos que se interrumpe la conexión en la mitad del proceso... :jawdrop: ¿debería empezar de nuevo en otra sesion?

Saludos!

Comentarios

recuperar sesiones de ssh

Imagen de acl

Existen formas de dejar trabajos corriendo en segundo plano (como nohup y &). Sin embargo, no creo que exista manera de hacer lo que quieres: una vez que se cierra la conexion de ssh, el shell que estabas corriendo se termina y por tanto, lo que hayas estado haciendo se perdera si no estaba ejecutandose desconectado de la consola. Todo depende del programa que hayas estado corriendo.

En el caso de make, por ejemplo, tienes la ventaja de que el programa sabe si es necesario recompilar basado en las fechas de los archivos, asi que no va a demorarse horas como la primera vez; esto sucede porque los archivos objeto (*.o) se quedan ahi en disco incluso despues de enlazar.

si necesitas hacer eso por

Imagen de The One

si necesitas hacer eso por ejemplo dejar un proceso corriendo o quieres actualizar el servidor lo podrias realizar con el "screen", solo le pones en la consolo "screen" y ejecuta el proceso que quieres, por ejemplo "yum -y update" y para salir de la consola y dejar el proceso en ejecución solo haces Ctrl+A+D, después cuando quieras ver el como esta el proceso regresar con "screen -rx".

Screen es una buena

Imagen de acl

Screen es una buena herramienta, me habia olvidado por completo. Mi punto arriba sigue siendo valido: depende de la aplicacion que uses. Si usas screen, ella es quien se encarga de mantener tus procesos vivos a traves de conexiones sucesivas.

Excelente!

Imagen de alfamikedelta

Muchas gracias por las respuestas!

Bueno deathUser, la verdad es que no conocia freenx, pero si se trata de una sesión gráfica remota no me sirve... ;)

Pero me gusto mucho la idea de "screen"... Linux, cada dia te quiero mas... jejeje...

Gracias de nuevo!

screen es la idea. screen

Imagen de Epe

screen es la idea.

screen -rx para recuperar la sesión perdida.

la usamos mucho para compartir trabajos. Como estamos en diferentes máquinas.. entramos al mismo servidor, abrimos un screen y vamos haciendo a la vez.. uno en cada screen.. y con CTRL A P puedes moverte de ventanas (circularmente) e ir viendo por donde va el otro etc.

Para enseñar es bonito.

Y por supuesto para si se te cae la conexión. No hago nada sin screen. A no ser que sea ver un archivo o algo así. pero una tarea que tome horas en finalizar.. no la hago sin screen porque duele que se te pierda la conexión cuando casi estás acabando.

Saludos
epe
--
EcuaLinux.com
Ecuador: +(593) 9 9246504, +(593) 2 3412402
USA: +1 305 359 4495, España: +34 91 7617884


Saludos
epe

EcuaLinux.com

+(593) 9 9924 6504

Servicios en Software Libre