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:
Sistem güncellemeleri
Yedekleme işlemleri
Veritabanı bakım çalışmaları
Log analizleri
Uzun süren script çalıştırmaları
Docker ve Kubernetes yönetimi
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:
Bir panelde top veya htop
Bir panelde tail -f
Bir panelde SSH oturumu
Bir panelde komut satırı
ç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.