Linux Rsync İle İki Sunucu Arası Dosya Transferi

Linux sistemlerinde dosya transferi ve yedekleme için en verimli yöntemlerden biri rsync komutudur. Bu komut, dosyaları hem yerel dizinler arasında hem de uzak sunuculara güvenli şekilde kopyalayabilir. Rsync’in en büyük avantajı, her defasında tüm veriyi taşımak yerine yalnızca değişen dosyaları aktarmasıdır.

Bu özellik, özellikle VDS sunucularda günlük yönetim için kullanılan temel Linux komutlarının ne kadar kritik olduğunu bir kez daha gösterir. Daha önce hazırladığımız VDS Sunucularda En Çok Kullanılan Linux Komutları yazımızda rsync’in yanında pek çok farklı aracı da ele almıştık.

  • Sadece değişen dosyaları aktarır.
  • SSH üzerinden güvenli bağlantı kurar.
  • Bant genişliğini minimumda kullanır.
  • Kaldığı yerden devam edebilir.

rsync Komutunun Temeli

rsync ile Uzak Sunucuya Bağlanmak

Rsync, SSH protokolü ile birlikte çalıştığında sadece yerel sistemlerde değil, farklı veri merkezlerinde veya NAS cihazlarında bulunan sistemlere de dosya aktarımı yapabilirsiniz.

En Çok Kullanılan rsync Seçenekleri

  • -a : Arşiv modu, izinleri ve zaman damgalarını korur.
  • -v : Ayrıntılı çıktı verir.
  • -z : Transfer sırasında verileri sıkıştırır.
  • -P : İlerleme durumunu gösterir ve kesilen aktarımı kaldığı yerden devam ettirir.
  • --delete : Kaynaktan silinen dosyaları hedefte de siler.
  • -e ssh : Aktarımı SSH üzerinden güvenli hale getirir.

Kullanım Örnekleri

Yerel klasör senkronizasyonu

Uzak sunucuya dosya aktarma

Tek dosya gönderme

Silinen dosyaları eşitleme

Büyük aktarımda ilerleme göstergesi

Rsync NAS Cihazları ile Nasıl Kullanılır?

Rsync, yalnızca sunucular arası değil, NAS cihazlarıyla da kullanılabilir. Örneğin, bir Synology NAS üzerine VDS sunucusundaki verileri yedeklemek için SSH anahtarı ile parola istemeden bağlantı kurulabilir.

  • Synology üzerinde rsync kullanabilmek için öncelikle hizmeti etkinleştirmek gerekir. Bu ayar Denetim Masası > Dosya Hizmetleri > rsync kısmından yapılır. Varsayılan port kullanılabilir.
  • Ardından kullanıcı izinleri düzenlenmelidir. Denetim Masası > Uygulama İzinleri > rsync bölümünden ilgili hesaplara erişim yetkisi verilir. İhtiyaç halinde belirli IP adresleri sınırlandırılabilir. Son olarak kullanıcıya okuma ve yazma hakkı tanımlanır.

SSH Anahtarı ile Rsync Kullanımı

Sunucu tarafında şifre girmeden bağlantı için SSH anahtarı oluşturup, Nas cihazımıza tanımlayalım.

Daha sonra veri aktarımı şu şekilde yapabiliriz.

Kaynakta silinen dosyaların NAS üzerinde de temizlenmesi için --delete seçeneğini kullanalım

Bu yöntemle VDS sunucusu ile Synology NAS cihazı arasında bağlantıyı sağlayabiliriz.

Sık Sorulan Sorular

rsync ile büyük dosyaların transferinde checksum doğrulaması nasıl yapılır?

Rsync, varsayılan olarak zaman damgası ve dosya boyutuna bakarak değişiklikleri algılar. Ancak --checksum parametresi eklenirse, dosyanın hash değeri de kontrol edilir. Bu yöntem özellikle bozulma ihtimali olan büyük dosyalarda güvenli aktarım sağlar ama CPU kullanımını artırabilir.

rsync her çalıştırmada aynı dosyaları neden yeniden kopyalıyor?

Bu durum genellikle iki sistemin saatlerinin senkron olmamasından kaynaklanır. Sunuculara NTP servisi kurulup saat eşitlenirse sorun ortadan kalkar.

Rsync ile VDS üzerinde MySQL veritabanı yedeklenebilir mi?

Doğrudan rsync ile değil. Önce veritabanı dump alınmalı (mysqldump), ardından rsync ile bu dump dosyası kopyalanmalıdır.

VDS üzerinde rsync ile log dosyaları nasıl düzenli yedeklenir?

VDS sunucularda log dosyalarının düzenli yedeklenmesi için cron ile otomatik görevler oluşturulabilir. Örneğin, her gece 02:00’de rsync kullanılarak log klasörü farklı bir sunucuya aktarılabilir. Bu yöntemle hem yerel disk kullanımı azalır hem de kritik kayıtlar güvenli şekilde saklanır.

Eğer WHM ortamında VPS veya Dedicated hosting kullanıyorsanız, rsync’e ek olarak WHM’nin kendi yedekleme özelliklerini de devreye alabilirsiniz.

Yorum yapın