დისტანციურ სერვერზე მუშაობისას SSH კავშირის მოულოდნელი გაწყვეტა არა მხოლოდ გამაღიზიანებელია, არამედ შესაძლოა სისტემისთვის საზიანოც აღმოჩნდეს. განსაკუთრებით მაშინ, თუ ეს სისტემის განახლების პროცესში ხდება. მოდით, განვიხილოთ, როგორ ავირიდოთ თავიდან მსგავსი შეფერხებები და როგორ დავაზღვიოთ ჩვენი სამუშაო პროცესი.
ამაში კი ჩვენ დღეს დაგვეხმარება უტილიტა tmux (Terminal Multiplexer). ეს არის ბრძანებათა ხაზის მძლავრი ინსტრუმენტი, რომელიც საშუალებას გვაძლევს, ერთ ფანჯარაში რამდენიმე ტერმინალური სესია გავუშვათ და რაც მთავარია, შევინარჩუნოთ წვდომა ტერმინალის სესიაზე კავშირის გაწყვეტის შემთხვევაშიც კი.
მარტივად რომ ვთქვათ, tmux თქვენს ტერმინალში არსებული “ვირტუალური სამუშაო მაგიდაა”.
მიუხედავად იმისა, რომ tmux ლოკალურ კომპიუტერზეც გამოსადეგია, მისი მთავარი ძალა სწორედ დისტანციურ სერვერებთან მუშაობისას ვლინდება. მოდით, დავაყენოთ ის სერვერზე შემდეგი ბრძანებით.
Debian / Ubuntu / Linux Mint:
sudo apt update && sudo apt install tmux -y
Arch Linux:
sudo pacman -S tmux
Fedora / RHEL / CentOS / AlmaLinux:
sudo dnf install tmux
როგორ მუშაობს tmux?
წარმოიდგინეთ, რომ tmux არის თქვენი „პირადი კაბინეტი“ სერვერზე. როდესაც მასში შედიხართ, შეგიძლიათ აკეთოთ საქმე, შემდეგ კი მშვიდად დატოვოთ კაბინეტი და კარი ჩაკეტოთ, შიგნით თქვენი საქმეები არ შეჩერდება, ისინი განაგრძობენ მუშაობას მანამ თქვენ არ დაასრულებთ სამუშაო პროცესს.
1. სესიის შექმნა
tmux new -s update(აქ „update“ არის სესიის სახელი, რომელსაც თავად არქმევთ).
2. სესიიდან გასვლა
ეს არის ყველაზე მნიშვნელოვანი მომენტი. თუ გსურთ, რომ სერვერზე გაშვებული პროცესი (მაგალითად, სისტემის განახლება) ფონში მუშაობდეს და თქვენ სერვერიდან გამოხვიდეთ, დააჭირეთ კლავიატურაზე შემდეგ კომბინაციას:
Ctrl + b (დააჭირეთ ერთად, შემდეგ აუშვით ხელი) შემდეგ დააჭირეთ d ღილაკს.
თქვენ დაუბრუნდებით ჩვეულებრივ ტერმინალს, ახლა კი შეგიძლიათ გაწყვითოთ SSH კავსირი ყოველგვარი საშიშროების გარეშე, რადგან თქვენს მიერ შექმნილი სესია აქტიური დარჩება!
3. არსებული სესიების ნახვა
გავიდა დრო და გსურთ ნახოთ, რა სესიები გაქვთ გაშვებული სერვერზე, კვლავ დაამყარეთ SSH კავშირი და ტერმინალში ჩაწერეთ:
tmux ls
4. სესიაზე დაბრუნება
როდესაც გსურთ დაუბრუნდეთ თქვენს სამუშაო სივრცეს და ნახოთ, როგორ დასრულდა განახლება, გამოიყენეთ:
tmux attach -t update
5. სესიის დასრულება
თუ საქმე დაასრულეთ და სესია აღარ გჭირდებათ, შეგიძლიათ დახუროთ ის ბრძანებით:
tmux kill-session -t update
6. ყველა სესიების დახურვა
თუ გსურთ, რომ მთლიანად გათიშოთ tmux და დახუროთ ყველა აქტიური სესია ერთდროულად, გამოიყენეთ:
tmux kill-server
სპეციალურად „ზარმაცებისთვის“ 😉
გსურთ დროის დაზოგვა და tmux-თან მუშაობა კიდევ უფრო გაამარტივოთ, მოგიმზადეთ alias-ების მოკლე სია. დაამატეთ ეს სტრიქონები თქვენს .bashrc .bash_aliases ან .zshrc ფაილში:
# TMUX ALIASES
alias tn='tmux new -s' # ახალი სესიის შექმნა
alias ta='tmux a -t' # სესიაზე დაბრუნება (Attach)
alias tl='tmux ls' # სესიების ჩამონათვალი
alias tk='tmux kill-session -t' # კონკრეტული სესიის დასრულება
alias tka='tmux kill-server' # ყველა სესიის ერთიანად დახურვა
tmux-ს გაცილებით მეტი ფუნქციონალი გააჩნია, ვიდრე ეს დღევანდელ სტატიაში განვიხილეთ, თუმცა ამ ეტაპისთვის ეს საბაზისო ბრძანებები სავსებით საკმარისია სტაბილური და მშვიდი მუშაობისთვის.
ვიმედოვნებ, ეს ინფორმაცია თქვენს ყოველდღიურ საქმიანობას უფრო კომფორტულს გახდის.
არ დაიზაროთ! გაგვიზიარეთ თქვენი აზრი კომენტარებში, შემოგვიერთდით ჩვენს Discord სერვერზე და დასვით კითხვები, თუ რაიმე გაუგებარი დარჩა.