14 votos

El reinicio de la Red a través de SSH

En el servidor, quiero emita los siguientes comandos para el Servidor B a través de ssh.

service network stop
sleep 5
service network start

El problema es que ya he emitido una red de 'stop', entonces mi actual conexión ssh también se ha perdido. Por lo tanto no puedo ejecutar los siguientes comandos (dormir 5 y servicio de inicio de red). Tenga en cuenta que yo no uso (servicio de red reiniciar).

¿Alguien tiene una solución / solución para esto?

9voto

Si usted está haciendo esto de forma interactiva, ¿por qué no empezar un screen sesión? Sería algo parecido a esto:

screen

(scren se inicia el shell)

service network restart

(Sesión de SSH se desconecta, pero el reinicio de la red continúa en la sesión de pantalla)

(Esperar unos segundos)

(SSH de vuelta en el huésped una vez que la reinicie acabados)

screen -r

(Vuelva a conectar a la pantalla y comprobar si hay errores)

En mi humilde opinión, es siempre miedo a reiniciar una interfaz de red de forma remota. ¿Qué sucede cuando no se hace una copia de seguridad? ¿Tienes una consola o de otros medios en el host si sucede algo malo?

5voto

Seth Robertson Puntos 829

La exacta comandos disponibles para ello variar dependiendo de la distribución de Linux. En opción, que es bastante estándar es para programar y "en" el trabajo durante 5 segundos en el futuro para reiniciar la creación de redes. Otro es el uso de la nohup comando.

echo "sleep 5; /etc/init.d/networking start" | at now
nohup sh -c 'sleep 5; /etc/init.d/networking start' &

Otras distribuciones tienen el demonio de comando para activar el programa resultante en un demonio que ya no está asociado con el shell.

3voto

Jordan S. Jones Puntos 1023

Una manera muy simple de hacer esto es usando el operador and:

service network stop && sleep 5 && service network start

1voto

¿Por qué no ponerlo en un script de shell y ejecutar a través de SSH?

1voto

Intenta esto (tal vez la instalación de cron si es necesario):

$ at now+5min
at> service network stop
at> sleep 5
at> service network start
at> [control-D]

A continuación, cierre de sesión, esperar 6 min y a entrar

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: