Будет ли запрос, который может занять часы для выполнения, будет выполняться на удаленном сервере, если я закрою соединение после выполнения команды?

Если я подключусь к удаленному серверу базы данных через ssh, запустите клиент mysql и выполните запрос, который может занять несколько часов, а затем закройте соединение, будет ли запрос продолжать выполнять до завершения? Могу ли я mysqldump таким образом в огромной базе данных, вернитесь через несколько дней и ожидайте, что все это будет полным?

благодаря!

2 Solutions collect form web for “Будет ли запрос, который может занять часы для выполнения, будет выполняться на удаленном сервере, если я закрою соединение после выполнения команды?”

Проще говоря: нет – если вы не примете специальные меры, любые долговечные команды на сервере прекратятся, когда оболочка, которую ssh запускает удаленно, выйдет. Эта оболочка будет завершена, если вы прекратите сеанс ssh или даже если TCP-соединение будет нарушено (потеряет сетевое подключение, переключит Wi-Fi-сети, спящий режим и т. Д.).

Однако есть несколько вариантов для выполнения этих «специальных мер». От простейших до самых сложных / вовлеченных:

  • Nohup – просто добавьте команду one-line с nohup . Это работает, если вы можете предположить, что команда выполнит, а затем завершит сам. Вывод будет отправлен в файл nohup.out в текущем каталоге. Пример:

     nohup sh -c "sleep 5; echo done" & 
  • Экранный screen установит окно виртуального терминала, которое не выйдет, когда ваше соединение ssh завершится. Вы можете снова подключиться к серверу и посмотреть состояние всех запущенных вами команд и выпустить новые команды. Пример:

     % client: ssh server # server: screen # server[0]: mysql -e 'really long query' <disconnect> 

    Позднее вернутся и:

     % client: ssh server # server: screen -RD # -RD says "reconnect to my previous screen, even it already attached" # server[0]: <right where you left off in the previous screen> 

    Существует множество опций для screen , вы можете создать несколько «терминалов» внутри одного сеанса screen , и его можно настроить в файле ~/.screenrc .

  • Mosh – замена ssh которая будет поддерживать сеанс независимо от сетевого подключения. При переходе между Wi-Fi-сетями или даже спящем / пробуждении вашего компьютера mosh снова подключится к серверу. Кроме того, он обеспечит свободный интерфейс без задержки, так как вы вводите свои команды, на вас не будет влиять медленность ссылок или серверов. Обратите внимание, что mosh использует ssh для установления начального соединения и настройки UDP-сервера на удаленном конце.

Закрытие SSH-соединения завершит любые процессы, запущенные в этом сеансе.

Взгляните на screen команду, которая позволит вам начать сеанс внутри оболочки, а затем снова подключиться к ней из другой локальной или удаленной оболочки.

  • ITerm2 теряет цвета «ls», если я ssh на сервере
  • Http proxy over ssh, а не носки
  • SSH-туннель через 2 сервера
  • Как я могу использовать SSH в «Bash on Ubuntu в Windows 10»?
  • Как я могу перенаправить gpg-ключ через ssh-agent?
  • OS X Terminal Игнорирование настроек прокси-сервера SOCKS
  • Как исправить проблему несоответствия шифрования с помощью sftp?
  • Как использовать ssh-copy-id на нестандартном порту
  • Если я опечатаю свое имя пользователя при ssh-ing, есть ли способ вернуться и изменить его?
  • Как git клонировать частные репозитории в Vagrant VM, используя ключи SSH хоста?
  • Как я могу туннелировать весь свой сетевой трафик через SSH?
  • Interesting Posts

    Eclipse CDT: Symbol ‘cout’ не может быть разрешен

    Самовсасывание с пружиной

    Кнопка запуска Windows 10 неоднократно становится неактивной

    Двойной экран ПК понижен до одного экрана, программы работают на втором экране

    Должна ли загрузка файла на DSL убивать скорость загрузки?

    Могу ли я заставить ssh-agent ждать, пока я не буду использовать ssh для запроса пароля?

    Какими способами запрещается записывать или читать файлы с символом правостороннего переопределения Unicode в их имени (метод подмены вредоносных программ)?

    Как найти файлы, соответствующие строке подстановки в Java?

    Потерял мой пароль администратора Windows 7, нужно изменить или сбросить его

    Как отключить автозаполнение форм Firefox только для определенных сайтов или для всех сайтов временно?

    Что такое ModelState.IsValid, допустимое для ASP.NET MVC в NerdDinner?

    Мониторинг среднего использования ЦП и использования ОЗУ на одном потоке процессов

    Как использовать несколько учетных записей SkyDrive на одном компьютере?

    Ошибка «Определенный пользователем тип не определена»

    Формула для добавления минут до даты + времени в Excel

    Давайте будем гением компьютера.