Uzaktan Dizininizi Güncel Tutmak
: Linux ve macOS Kullanıcıları için Bir Kılavuz
Günün hızlı tempolu geliştirme ortamında, güncel bir uzaktan dizine sahip olmak, verimli kodlama ve test etme için kritik öneme sahiptir. Birçok geliştirici, yerel dizinleri uzaktan sunucularla sorunsuz bir şekilde senkronize eden WinSCP’deki Uzaktan Dizini Güncel Tut
özelliğinden haberdardır. Ancak, macOS ve Linux kullanıcıları benzer basit çözümleri bulmakta sıklıkla zorluk çekiyorlar. Neyse ki, bunu sağlam rsync
komutunu kullanarak gerçekleştirmek mümkün.
Zorluk
Çeşitli araçları kullanarak dosyaları manuel olarak senkronize edebilseniz de, gerçek zamanlı bir çözüm olan WinSCP macOS veya Linux’ta mevcut değildir. Bu zorluk, özellikle yerel dizininizde değişiklikler yaptığınızda ve bu değişikliklerin uzaktan sunucuya hızlı bir şekilde yansımasını istediğinizde iş akışınızı engelleyebilir.
Çözüm: rsync
Kullanmak
İyi haber şu ki, rsync
verimli bir şekilde dizinleri senkronize etmenizi sağlayan güçlü bir komut satırı aracıdır. Her ne kadar kutudan çıktığı gibi gerçek zamanlı senkronizasyon sağlamasa da, sık aralıklarla çalışması için cron işleri kullanarak zamanlayabilirsiniz. İşte nasıl başlayacağınız.
Adım 1: rsync
Kurulumu
Çoğu Linux dağıtımı ve macOS rsync
ile önceden yüklü gelir. Terminali açıp aşağıdaki komutu yazarak sisteminizde mevcut olup olmadığını kontrol edebilirsiniz:
rsync --version
Eğer yüklü değilse, paket yöneticinizden kolayca elde edebilirsiniz, örneğin:
- Ubuntu/Linux Mint için:
sudo apt-get install rsync
- macOS için:
brew install rsync
(Homebrew kullanarak)
Adım 2: Bash Scripti Oluşturma
rsync
operasyonunu otomatik olarak gerçekleştirmek için basit bir bash scripti oluşturabilirsiniz. Aşağıdaki adımları takip edin:
-
Terminalinizi açın ve yeni bir script dosyası oluşturun:
nano sync_remote.sh
-
Scriptinize aşağıdaki satırları ekleyin:
#!/bin/sh rsync -avrz --progress --exclude-from .rsync_exclude_remote . remote_login@remote_computer:remote_dir
-
Dosyayı kaydedin ve çıkın.
Bu script, aşağıdaki seçenekleri kullanır:
-a
: Arşiv modu (izinleri korur, vb.)-v
: Olan biteni görmek için ayrıntılı çıktı-r
: Dizinleri özyinelemeli olarak kopyalar.-z
: Transfer sırasında dosyaları sıkıştırır.
Adım 3: Scripti Çalıştırılabilir Hale Getirme
Script’inizin çalıştırılabilir olduğundan emin olmak için aşağıdaki komutu çalıştırın:
chmod +x sync_remote.sh
Adım 4: Cron Görevi Ayarlama
Senkronizasyonun otomatik olarak gerçekleşmesini sağlamak için scriptinizi belirtilen aralıklarla çalıştıracak bir cron görevi ayarlayın.
-
Crontab yapılandırma dosyasını açın:
crontab -e
-
Scriptinizi zamanlamak için bir satır ekleyin. Örneğin, scriptinizi her dakikada bir çalıştırmak için şunları ekleyin:
* * * * * /path/to/sync_remote.sh
/path/to/
kısmını scriptinizin bulunduğu gerçek yol ile değiştirin.
Adım 5: Kurulumu Test Etme
Cron görevinizin çalışmasına izin vermeden önce, scriptinizi test etmek akıllıca olacaktır. Kuru çalıştırma yapmak için -n
seçeneğini kullanın:
rsync -avrz --progress --dry-run --exclude-from .rsync_exclude_remote . remote_login@remote_computer:remote_dir
Bu, hangi dosyaların senkronize edileceğine dair bir genel bakış sağlayacaktır.
Son Notlar
Bu çözüm gerçek zamanlı senkronizasyon sağlamasa da, uzaktan dizininizi minimum çaba ile güncel tutmanıza olanak tanır. rsync
‘in belirli sınırlamaları olduğunu unutmayın, örneğin unicode dosya adlarıyla uyumluluk (Ağustos 2008 itibarıyla), bu nedenle dosya adlarıyla çalışırken bunu aklınızda bulundurun.
Bu basit adımları takip ederek, yerel ve uzaktan dizinleriniz arasında verimli bir senkronizasyon süreci kurabilir, geliştirme sürecinizi daha pürüzsüz ve etkili hale getirebilirsiniz.
İyi senkronizasyonlar!