Иногда открытая сессия SSH может внезапно закрыться (broken pipe), например при работе через GPRS/wi-fi с плохим качеством сигнала.
Если в момент разрыва на удалённом хосте что-то происходило (копирование большого списка файлов, сборка ПО из исходных кодов, или был открыт текстовый редактор), то результаты работы этого "чего-то" в большинстве случаев теряются. Это очень раздражает, как этого избежать?
Ответ
То, что Вам нужно, называется консольный мультиплексор. Идея в том, чтобы на удалённом хосте запустить процесс, который будет как бы "сохранять состояние консоли", независимо от того, есть ли в данный момент активная сессия (ssh или физического доступа к хосту "через клавиатуру и монитор") работы с этой консолью.
Сценарий действий будет таков:
коннектимся к удалённому хосту по ssh
запускаем терминальный мультиплексор
начинаем работать
соединение рвётся
восстанавливаем соединение
восстанавливаем сеанс работы с терминальным мультиплексором
продолжаем работать с того же самого места, где остановились, ничего не потеряв
Это удобно также для того, чтобы продолжить работу с другого комьютера, или передать работу над текущей консольной задачей коллеге.
Самые популярные консольные мультиплексоры - screen (прост в освоении, минимальный функционал) и tmux (несколько более сложен, но намного более функционален - например, позволяет в рамках одной сессии tmux открыть сразу несколько экземпляров терминала и выводить их в консоль одновременно, разделив экран на несколько произвольных областей).
Изучение ключей командной строки для команд screen и tmux оставлю на совести читателя.
Комментариев нет:
Отправить комментарий