Tmux: SSH Oturumlarımın Vazgeçilmez Aracı

Linux sistemlerle çalışan hemen herkesin başına gelmiştir. Uzak bir sunucuya SSH ile bağlanırsınız, uzun sürecek bir işlem başlatırsınız ve tam o sırada internet bağlantınız kopar. Tekrar bağlandığınızda işlem yarıda kalmış, ekran kapanmış ve ne olup bittiğini anlamak zorlaşmıştır.

Yıllar içerisinde yüzlerce Linux sunucusu yönettim. İlk zamanlarda bu tür sorunları normal karşılıyordum. Ancak özellikle üretim ortamlarında, yedekleme işlemlerinde, sistem güncellemelerinde veya log analizlerinde bağlantı kopmalarının ciddi zaman kayıplarına neden olduğunu gördüm. Bu noktada tanıştığım araçlardan biri de Tmux oldu.

Bugün geriye dönüp baktığımda, Linux üzerinde SSH ile çalışan herkesin Tmux kullanması gerektiğini düşünüyorum.

Tmux Nedir?

Tmux (Terminal Multiplexer), tek bir terminal oturumu içerisinde birden fazla pencere ve panel oluşturabilen güçlü bir terminal yöneticisidir.

Daha basit anlatmak gerekirse, SSH bağlantınız kopsa bile çalıştırdığınız işlemler sunucu üzerinde çalışmaya devam eder. Siz tekrar bağlandığınızda kaldığınız yerden devam edebilirsiniz.

Bu özellik özellikle:

gibi işlemlerde büyük kolaylık sağlar.

Kurulum

Ubuntu ve Debian sistemlerde:

apt update
apt install tmux -y

RHEL, AlmaLinux ve Rocky Linux sistemlerde:

dnf install tmux -y

Kurulum sonrasında sürümü kontrol etmek için:

tmux -V

İlk Oturumun Oluşturulması

Yeni bir tmux oturumu oluşturmak için:

tmux

Ancak ben genellikle isimlendirilmiş oturumları tercih ediyorum:

tmux new -s backup

Bu şekilde oluşturulan oturuma daha sonra kolayca geri dönebilirsiniz.

Oturumdan Ayrılmak (Detach)

Tmux'un en sevdiğim özelliği budur.

Bir işlem çalışırken oturumu kapatmak yerine:

Ctrl + b ardından d

tuşlarına basılır.

Oturum kapanmaz, arka planda çalışmaya devam eder.

SSH bağlantısını kesebilir, bilgisayarınızı kapatabilir ve daha sonra tekrar bağlanabilirsiniz.

Aktif Oturumları Görmek

Sunucuya tekrar bağlandıktan sonra:

tmux ls

çıktısı örnek olarak şöyle görünür:

backup: 1 windows
monitoring: 1 windows

Oturuma Yeniden Bağlanmak

tmux attach -t backup

veya

tmux a -t backup

komutu ile kaldığınız yerden devam edebilirsiniz.

Birden Fazla Pencere Kullanmak

Tmux'u sadece bağlantı kopmalarına karşı değil, aynı zamanda çalışma alanı düzenlemek için de kullanıyorum.

Yeni pencere açmak:

Ctrl + b ardından c

Pencereler arasında geçiş:

Ctrl + b ardından n

veya

Ctrl + b ardından p

Ekranı Bölmek

Özellikle log takibi yaparken çok faydalı.

Dikey bölme:

Ctrl + b ardından %

Yatay bölme:

Ctrl + b ardından "

Örneğin:

çalıştırabiliyorum.

Bu yapı özellikle sistem sorunlarını araştırırken büyük kolaylık sağlıyor.

Kullanım Senaryolarım

Yıllar içerisinde Tmux'u en çok şu durumlarda kullandım:

Sunucu Güncellemeleri

apt upgrade

veya

dnf update

çalıştırırken bağlantı kopsa bile işlem devam eder.

Log Takibi

tail -f /var/log/syslog

veya

journalctl -f

uzun süre açık bırakılabilir.

Yedekleme İşlemleri

rsync

ve

borgbackup

gibi uzun süren işlemler güvenle çalıştırılabilir.

Docker ve Container Yönetimi

Container loglarını takip ederken:

docker logs -f container_adi

oturumun kapanması sorun oluşturmaz.

Faydalı Kısayollar

İşlem

Kısayol

Yeni pencere

Ctrl+b c

Sonraki pencere

Ctrl+b n

Önceki pencere

Ctrl+b p

Dikey bölme

Ctrl+b %

Yatay bölme

Ctrl+b "

Oturumdan ayrıl

Ctrl+b d

Yardım ekranı

Ctrl+b ?

Sonuç

Tmux benim için sadece bir terminal aracı değil, Linux sistem yönetiminin temel bileşenlerinden biri haline geldi. Özellikle uzaktaki sunucular üzerinde çalışan sistem yöneticileri için ciddi zaman kazandırıyor ve operasyonel riskleri azaltıyor.

Bugün yeni bir Linux sunucusuna bağlandığımda yaptığım ilk işlerden biri Tmux oturumu açmaktır. Çünkü yılların tecrübesi bana şunu gösterdi: bağlantılar kopabilir, bilgisayarlar kapanabilir, internet erişimi kesilebilir; ancak kritik işlemlerin yarıda kalmaması gerekir.

Eğer hâlâ Tmux kullanmıyorsanız, küçük bir test sunucusunda denemenizi tavsiye ederim. Kısa süre içerisinde günlük çalışma alışkanlıklarınızın vazgeçilmez bir parçası haline gelecektir.