На сервере A я хочу выдать следующие команды серверу B через ssh.
service network stop
sleep 5
service network start
Проблема заключается в том, что я произвел остановку сети, и мое текущее ssh-соединение также потеряно. Поэтому я не могу выполнить последующие команды (сон 5 и запуск сервисной сети). Обратите внимание, что я не могу использовать (служба перезагрузки сети).
У кого-нибудь есть обходной путь / решение для этого?
linux
networking
ssh
Кармен
источник
источник
Ответы:
Если вы делаете это в интерактивном режиме, почему бы не начать
screen
сеанс? Это будет выглядеть примерно так:(запускается оболочка scren)
(Сеанс SSH отключается, но перезапуск сети продолжается в сеансе экрана)
(Подождите несколько секунд)
(SSH возвращается в хост после завершения перезагрузки)
(Подключитесь к экрану и проверьте ошибки)
ИМХО, всегда страшно перезагружать сетевой интерфейс удаленно. Что происходит, когда он не возвращается? У вас есть консоль или другие средства в хосте, если происходит что-то плохое?
источник
screen
при работе на удаленных машинах. В случае незапланированных отключений это может спасти жизнь. Также может быть полезно иметь несколько активных оболочек в одном сеансе. Вы также можете посмотреть на этоtmux
, я не использовал его сам, но некоторые предпочитают,screen
и его основная функция обеспечивает те же преимущества.Failed to restart network.service: Unit network.service failed to load: No such file or directory.
Это работает: serverfault.com/a/731120/10361systemctl restart networking
у меня почему-то не работало наtmux
сессии на Ubuntu Xenial.systemctl restart network
работал на CentOS 7 (OpenVZ) даже не вtmux
/screen
сессию. Без потери связи.Точные команды, доступные для этого, зависят от дистрибутива Linux. Опция, которая является довольно стандартной, состоит в том, чтобы запланировать и «включить» работу на 5 секунд в будущем, чтобы перезапустить сеть. Другой способ - использовать
nohup
команду.В других дистрибутивах есть команда daemon, чтобы превратить полученную программу в демона, который больше не связан с оболочкой.
источник
Очень простой способ сделать это с помощью оператора and:
источник
service network restart
?service network stop
интерфейс отключается,bash
получаетSIGHUP
, и никакие другие команды не выполняются. Я что-то пропустил?Почему бы не поместить его в сценарий оболочки и выполнить через SSH?
источник
Попробуйте это (возможно, установив cron при необходимости):
Затем выйдите из системы, подождите 6 минут и перезапустите
источник
at
Планировщик не в пакете хрон на большинстве дистрибутивов, попробуйте найти дляat
упаковки непосредственно.Это работает с современными Debian и Ubuntu, тогда как все остальные ответы не будут работать.
Пожалуйста, имейте в виду, что возврат интерфейса может занять некоторое время. В моем случае около 15 секунд, поскольку у меня есть связь.
источник
Звучит так, будто вы хотите экран или tmux . Это позволит вам сохранить сеанс через потерю сетевого подключения. Они действительно очень полезны, почти все мои терминальные сеансы проходят через экран.
источник
например
источник