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Юу ч сонгосон, ямар нэг зүйлийг дахин ажиллуулахын өмнө бүртгэгдсэн үр дүнг шалга. Сүүлийн мөр дутуу байх нь зөөврийн компьютер юу харсныг хэлнэ, сервер юу бэхжүүлснийг биш. Яг энэ ялгаа нь ажлыг эхнээс нь холболтоос гадуур байлгах шалтгаан бөгөөд салах ба дахин холбогдох загвар нь түүний хамгийн бага хувилбар.