Linux’te rsync ile Dosya Yönetimini Ustalaşmak ava.hosting Kullanarak

Sistemler arasında dosya yönetimi rsync ile 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, rsync yalnızca kaynak ve hedef arasındaki değişiklikleri kopyalayarak verimliliği sağlar. Örneğin, rsync kullanarak 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:

ls -lah /home/user/test_backup/ [put_your_directory]

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.jpg

mkdir extra_files

touch 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, rsync zaman ve bant genişliği tasarrufu sağlar. Örneğin, rsync kullanarak ava.hosting sunucunuzun /var/www dizinini 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.