Люблю работать прямо на сервере: деплой, логи, конфиги, контейнеры. Раньше для этого я открывал несколько вкладок и подключался по SSH по два-три раза. Когда проектов и логов становится много это превращается в хаос. Закрыл вкладку - процесс умер. Переподключился - всё заново.
Решение:
Пересобрать это через tmux.
tmux создает отдельную сессию внутри SSH. Даже если соединение оборвалось, процессы продолжают жить. Ты возвращаешься на сервер, открываешь сессию, а там все на месте.
Создать сессию:
tmux new -s backend
Окна и панели
Но самое полезное - это окна и панели.
Окна в tmux как вкладки, а панели разделяют экран внутри одного окна. Теперь у меня в одной сессии может быть окно с логами, второе с деплоем, третье с htop.
Разделить экран можно так:
Ctrl + b, % # вертикальный split
Ctrl + b, " # горизонтальный split
Создавать и переключаться между окнами:
Ctrl + b, c # создание окна
Ctrl + b, n # переключение между окнами
Если нужно уйти и оставить все работать:
Ctrl + b, d
Вернуться:
tmux attach -t backend
Вывод:
В итоге у меня один SSH, по одной сессии на проект, и внутри нее уже готовое рабочее окружение под меня. Также можно разделять по стендам: дев, прод, стейдж. Заходишь и продолжаешь с того же места.
LinuxCamp | #utils
