Linux’te Ağa Bağlı Dosyaları Yönetmek İçin rsync Araçını Nasıl Kullanılır
Linux’te rsync ile Dosya Yönetimini Ustalaşmak ava.hosting Kullanarak
Sistemler arasında dosya yönetimi
rsyncile oldukça kolaydır; bu, dosyaları bir ağ üzerinden senkronize etmek ve aktarmak için güçlü bir Linux aracıdır. Verilerinizi yedeklerken, dizinleri yansıtırken veya ava.hosting’in yüksek performanslı VPS veya dedicated sunucuları üzerinde dosyaları taşırken,
rsyncyalnızca kaynak ve hedef arasındaki değişiklikleri kopyalayarak verimliliği sağlar. Örneğin,
rsynckullanarak ava.hosting üzerinde barındırılan web sitenizin dosyalarını uzak bir sunucuya yedekleyebilir, bant genişliğini ve zamanı minimize edebilirsiniz. Bu kılavuz,
rsync‘nin kurulumu, kullanımı ve otomatikleştirilmesini kapsar; bu, ava.hosting’in güvenilir altyapısı için optimize edilmiştir.
Kurulum rsync
Çoğu Linux dağıtımı rsync ile önceden yüklenmiştir. Yüklenip yüklenmediğini kontrol etmek için şunu çalıştırın:
rsync --version
Yüklenmemişse, dağıtımınızın paket yöneticisini kullanarak yükleyebilirsiniz:
- Debian/Ubuntu:
sudo apt install rsync - RHEL/CentOS:
sudo yum install rsync - Fedora:
sudo dnf install rsync - Arch Linux:
sudo pacman -S rsync
📌 Windows’tan uzak bir sunucuya rsync kullanarak dosya nasıl aktarılır?
Windows’ta PuTTY SSH aracılığıyla rsync kullanmak için şunları yüklemiş olmalısınız:
PuTTY SSH bağlantısı için
rsync ve OpenSSH Windows’ta
Pagent (isteğe bağlı) SSH anahtarı ile otomatik kimlik doğrulama için
MSYS2 kullanarak Windows’ta rsync’i yükleyin
MSYS2’yi indirdiyseniz, pacman kullanarak rsync’i kolayca yükleyebilirsiniz, MSYS2’nin paket yöneticisidir.
- MSYS2 ve mevcut paketleri güncelleyin
MSYS2 terminalinde şunu çalıştırın:
pacman -Syu- Güncellemeden sonra MSYS2 otomatik olarak kapanırsa, tekrar açın ve şunu çalıştırın:
pacman -Su✅ Bu adım, paket yöneticisinin en son sürümüne sahip olduğunuzu garanti eder.
- rsync’i yükleyin
Şimdi rsync’i yüklemek için şunu kullanın:
pacman -S rsync
💡 SSH aktarımı için openssh’e ihtiyacınız varsa, onu da yükleyin:
pacman -S openssh
Kurulumu doğrulayın
rsync’in doğru yüklendiğini doğrulamak için şunu çalıştırın:
rsync --version
Temel rsync Söz Dizimi
rsync‘nin temel söz dizimi:
rsync [options] source destination
Sık Kullanılan Seçenekler
- -a : Arşiv modu (sembolik bağlantıları, izinleri, zaman damgalarını vb. korur)
- -v : Ayrıntılı çıktı
- -z : Aktarım sırasında dosya verilerini sıkıştırır
- -P : Aktarım sırasında ilerlemeyi gösterir
- -r : Dizinleri özyinelemeli olarak kopyalar
- -e : Uzak kabuğu belirtir (SSH gibi)
Ağ Üzerinde rsync Kullanımı
Uzak Bir Sunucuya Dosya Aktarma
Yerel bir sistemden uzak bir sunucuya dosya aktarmak için:
rsync -avz /local/directory/ user@remote_host:/remote/directory/*MSYS2’de komutu ekledikten sonra, uzak sunucuya bağlanmak için SSH verilerini ekleyeceğiz ve sonuç gösterilecektir:
Bu komut, dosyaları SSH kullanarak uzak sunucuya güvenli bir şekilde kopyalar.
Komutun uzak sunucunuzda başarıyla yerine getirildiğini kontrol edin:
Uzak Bir Sunucudan Yerel Bir Makineye Dosya Aktarma
Uzak bir sunucudan yerel makinenize dosya kopyalamak için. Varsayılan olarak, rsync güvenli iletişim için SSH kullanır. SSH’yi açıkça belirtmek için:
rsync -avz -e ssh /local/directory/ user@remote_host:/remote/directory/
Eğer SSH varsayılan olmayan bir port (örneğin, 2222) kullanıyorsa, bunu şu şekilde belirtin:
rsync -avz -e "ssh -p 2222" /local/directory/ user@remote_host:/remote/directory/
Ekstra Dosyaları Senkronize Etme ve Silme
Kaynakta bulunmayan hedefteki ekstra dosyaları silmek için:
İlk adımda PuttySSH terminalinde ekstra dosyaları ekliyoruz:
cd /home/user/test_backup/touch file1.txt file2.log file3.jpgmkdir extra_filestouch extra_files/old_file.txtŞimdi belirli dosyalar olmadan dizini senkronize edin ve rsync, artık kaynakta olmayan dosyaları silecektir:
rsync -av --delete /source/directory/ /destination/directory/
📌 Ne yapar?
Sunucuda bulunan ancak test/local’da OLMAYAN tüm dosyalar silinecektir.
MSYS2 sonucu

PuttySSH sonucu

Uyarı: –delete seçeneğini dikkatli kullanın, çünkü bu, hedeften dosyaları kalıcı olarak siler.
Dosyaları ve Dizinleri Hariç Tutma
Belirli dosyaları veya dizinleri hariç tutmak için:
rsync -av --exclude 'file_or_directory' /source/ user@remote_host:/destination/MSYS2 sonucu

PuttySSH sonucu

Birden fazla hariç tutma için, şunu kullanın:
rsync -av --exclude={'file1','dir1','*.log'} /source/ user@remote_host:/destination/
rsync’i Arka Plan Süreci Olarak Çalıştırma
rsync‘i arka planda nohup kullanarak çalıştırabilirsiniz:
nohup rsync -avz /source/ user@remote_host:/destination/
Bu, oturumu kapattıktan sonra bile sürecin devam etmesini sağlar.
Yerel dizinde yeni bir dosya new_file.txt33333333 ekledik, ardından PuttySSH terminalini kapattık ve yukarıdaki komut, sunucu kapalıyken bile dosyaları göndermemizi sağlar.

Dosya Aktarımlarını Cron Görevleri ile Otomatikleştirme
cron kullanarak otomatik senkronizasyon planlamak için crontab’ı açın:
crontab -e
Her gün gece yarısı rsync‘i çalıştıracak bir görev ekleyin:
0 0 * * * rsync -avz /source/ user@remote_host:/destination/
Sonuç
rsync, Linux dosya yönetimi için vazgeçilmez bir araçtır; ağlar üzerinden verimli senkronizasyon ve aktarım yetenekleri sunar. İster bir WordPress sitesini yedekliyor, ister günlükleri yansıtıyor, ya da ava.hosting’in güvenilir VPS üzerinde verileri taşıyorsanız,
rsynczaman ve bant genişliği tasarrufu sağlar. Örneğin,
rsynckullanarak ava.hosting sunucunuzun
/var/wwwdizinini güvenli bir şekilde uzak bir konuma yedekleyebilir, veri güvenliğini sağlayabilirsiniz. ava.hosting’in yüksek performanslı altyapısı ve
rsync’nin çok yönlü seçenekleri ile iş akışlarını kolaylaştırabilir, yedeklemeleri otomatikleştirebilir ve dosyaları güvenle yönetebilirsiniz.



