SSH сессиясы VPN-мен бірге өледі: tmux немесе тапсырма іске қосқыш?
Қайта қосылған туннель ескі SSH сокетін тірілтпейді. Жұмысқа қайта қосылатын терминал сессиясы керек пе, әлде нәтижесі жазылған тапсырма керек пе, соны шешіңіз.
VPN индикаторы жасыл түске айналады, маршрут қайтады, ал ашық қалдырылған SSH терезесі ешқашан қайтадан шақыру белгісін бермейді. Маршрутты қалпына келтіру оны пайдаланған TCP әңгімесін қалпына келтірмейді, сондықтан сол терезеге терілгеннің бәрі жоғалды. Егер шынайы алаң редактор буфері немесе ұзақ миграция болса, шешім сол жұмысты бір қосылымға байламауды тоқтату. tmux мен тапсырма іске қосқыш сол мәселенің әртүрлі жартысын шешеді.
Қайта қосылған VPN сокетті жалғастырмайды
TCP мекенжай өзгергеннен кейін жалғастыру дегенді білмейді. SSH қосылымы екі шетімен анықталады, ал туннель қайта салынғанда жергілікті мекенжай өзгеруі мүмкін және ескі сокет өледі. Сервер мұны ақырында байқайды, ал сіздің терминалыңыз бірден байқайды.
Клиенттік keepalive өлі серіктесті ертерек анықтайды. Ол сессияны қайтармайды және бұрыннан жұмыс істеп тұрған пәрменді қалпына келтіре алмайды. keepalive дегеніміз анықтағыш, қалпына келтіру құралы емес. Қашықтағы пәрменнің аман қалғаны туралы ол ештеңе айтпайды.
Жұмысты қашықтағы хостқа қойыңыз
Сессияны ноутбукте емес, қашықтағы хостта жасаңыз. Әдеттегідей қосылыңыз, сол жерде tmux іске қосыңыз және оның ішінде редакторды немесе миграцияны жүргізіңіз. Әдепкі префикспен ажыраңыз, ал SSH қосылымы жоғалғанда сессия жұмысын жалғастырады. tmux-ті жергілікті іске қосу қабығыңызды жабық терезеден қорғайды, қашықтағы пәрменді өлі туннельден емес.
ssh [email protected]
tmux new-session -s office-workVPN қайтып келген соң сол хостқа жаңа SSH қосылымын ашып, аты бойынша қайта қосылыңыз. Тұрақты нысан дегеніміз сессия, қосылым емес. Оған бір аптадан кейін де танитын ат қойыңыз.
tmux тапсырма іске қосқышқа қарсы
tmux хост қосулы тұрғанша интерактивті процесті тірі ұстайды. Тапсырма іске қосқыш немесе қызмет менеджері интерактивті емес тапсырманы тірі ұстайды, оның шығу мәртебесін жазады және SSH сессиясы толық аяқталғанда да сақталады. Біріншісі сіз бақылайтын жұмысқа, екіншісі жоспарлап, кейін тексеретін жұмысқа арналған.
Хост оны қалпына келтіруге конфигурацияланбаса, екеуі де қайта жүктеуден аман қалмайды. tmux сессиясы машинамен бірге өледі, ал өтпелі тапсырма бірлік ретінде тіркелмесе, жүктелумен бірге өледі. Жұмыс нені басып озуы керектігіне қарай таңдаңыз.
Екі тәсілге де қайта қосылғаннан кейін оқуға болатын журнал керек. Онсыз процестің бар екенін білесіз, бірақ не істегенін білмейсіз. Журнал жолын сессия атының қасына жазып қойыңыз.
Не аман қалуы керектігіне қарай шешіңіз
Жұмыс жарты жолда тоқтаса, болатын ең жаманына қарай шешіңіз. Редактор сессиясы сақталмаған буферлерден айырылады, бұл мазасыз, бірақ қалпына келтіруге болады. Өзгерістерінің жартысын бекітетін миграция олай емес, және бұл нәтижесі жазылған іске қосқыштың пайдасына сөйлейді. Тапсырма интерактивті және ұзақ болса, tmux пен жазылған журнал әдетте жеткілікті.
systemd-run --user --unit=migrate-customers --collect ./migrate.shНе таңдасаңыз да, бірдеңені қайта іске қоспас бұрын жазылған нәтижені тексеріңіз. Соңғы жолдың жоқтығы ноутбук нені көргенін айтады, сервер нені бекіткенін емес. Дәл осы айырма жұмысты басынан бастап қосылымнан тыс ұстаудың себебі, ал ажырау және қайта қосылу моделі оның ең кіші нұсқасы.