yükleniyor...

24 Mayıs 2023

Rsync: Senkronizasyon ve Yedekleme Aracı

Rsync (Remote Sync), dosya senkronizasyonu ve yedekleme için kullanılan güçlü bir araçtır. Bu yazıda, Rsync’in ne olduğunu, nasıl kurulacağını, nasıl kullanılacağını ve temel parametrelerini ele alacağız.

Rsync Nedir?

Rsync, dosya senkronizasyonu ve yedekleme için kullanılan bir yazılımdır. İki farklı konumdaki dosyalar veya dizinler arasında verimli bir şekilde eşitleme yapar. Rsync, değişen veya güncellenen kısımları kopyalayarak ağ bant genişliği ve zaman açısından verimli çalışır.

Rsync Nasıl Kurulur?

Rsync, birçok Linux dağıtımında varsayılan olarak yüklü gelir. Ancak, yüklü değilse aşağıdaki adımları izleyerek kurabilirsiniz.

  • Ubuntu veya Debian gibi Debian tabanlı bir sistem kullanıyorsanız, terminalde şu komutu çalıştırın:
sudo apt-get install rsync
  • Red Hat veya CentOS gibi RPM tabanlı bir sistem kullanıyorsanız, terminalde şu komutu çalıştırın:
sudo yum install rsync
  • macOS kullanıyorsanız, Homebrew aracılığıyla Rsync’i kurabilirsiniz:
brew install rsync
  • Windows içinse, Cygwin veya MinGW gibi araçlarla Rsync’i kurabilirsiniz.

Rsync Nasıl Kullanılır?

Rsync’i kullanmak için aşağıdaki gibi bir komut yapısını kullanabilirsiniz:

rsync [parametreler] kaynak hedef

Parametreler

-a, --archive: Tüm dosya özelliklerini (izinler, sahiplik, zaman damgaları vb.) korur.
-v, --verbose: Ayrıntılı çıktı gösterir.
-r, --recursive: Dizinleri ve alt dizinleri kopyalar.
-z, --compress: Verileri sıkıştırarak iletişim verimliliğini artırır.
-h, --human-readable: İnsan tarafından okunabilir dosya boyutu gösterir.
-P, --partial --progress: Eksik dosyaları devam ettirir ve aktarım ilerlemesini gösterir.
--delete: Hedefdeki dosyaları kaynakta olmayan dosyaları siler.
--include: Sadece belirli dosyaları veya dizinleri senkronize eder.
--exclude: Belirli dosyaları veya dizinleri senkronizasyon dışında tutar.
--exclude-from: Bir dosyada belirtilen desenlere sahip dosyaları veya dizinleri senkronizasyon dışında tutar.
--bwlimit: Aktarım hızını sınırlar (örneğin, "--bwlimit=1000" ile 1000 KB/sn'ye sınırlanır).
--dry-run: Gerçek bir işlem yapmadan önce senkronizasyon işlemini simüle eder.
--rsync-path: Uzak sunucuda rsync'in yolunu belirtir.

Örnek Kullanımlar

Localden Sunucuya Aktarım

rsync -avz /local_klasor/local_altklasor/dosya kullanici@sunucu_ip:/uzak_klasor/uzak_altklasor/

Bu komut, /local_klasor/local_altklasor/dosya üzerindeki dosyayı kullanici adlı kullanıcının sunucu_ip‘li sunucudaki /uzak_klasor/uzak_altklasor/ dizinine aktarır. -avz parametreleri dosyaların izinlerini, sahiplik bilgilerini, zaman damgalarını ve dosyaları sıkıştırarak aktarımı optimize eder.

Sunucudan Local’e Aktarım

rsync -avz kullanici@sunucu_ip:/uzak_klasor/uzak_altklasor/uzak_dosya /local_klasor/local_altklasor/

Bu komut, kullanici adlı kullanıcının sunucu_ip‘li sunucudaki /uzak_klasor/uzak_altklasor dosyasını /local_klasor/local_altklasor/ dizinine aktarır.

Sunucudan Sunucuya Aktarım

rsync -avz kullanici1@sunucu1_ip:/sunucu1_klasor/ kullanici2@sunucu2_ip:/sunucu2_klasor/

Bu komut, kullanici1 adlı kullanıcının sunucu1_ip‘li sunucudaki /sunucu1_klasor/ dizinini kullanici2 adlı kullanıcının sunucu2_ip‘li sunucudaki /sunucu2_klasor/ dizinine aktarır. İlk sunucudan dosyaları alırken -avz parametrelerini kullanır.

Bu örneklerde, kullanici ve sunucu_ip‘yi kendi kullanıcı adınız ve sunucu IP adresinizle değiştirmeniz gerekmektedir. Ayrıca kendi dosya veya dizin yollarınızla değiştirmeniz gerekmektedir.

Rsync’in daha fazla parametresi ve kullanım seçeneği olduğunu unutmayın.

Bazı Parametre Örnekleri

Rsync ile exclude-from Parametresini Kullanma

*.log
private/
temp/

Bu dosyada, .log uzantılı dosyalar, private/ dizini ve temp/ dizini senkronizasyon işlemi sırasında dışarıda bırakılacak.

rsync -avz --exclude-from=/klasor/exclude.txt /klasor/kaynak/ kullanici@sunucu_ip:/klasor/sunucu/

Bu komut, /klasor/kaynak/ dizinindeki dosyaları kullanici adlı kullanıcının sunucu_ip‘li sunucudaki /klasor/sunucu/ dizinine aktarırken exclude.txt dosyasındaki desenleri dikkate alır. Yani, .log uzantılı dosyaları, private/ dizinini ve temp/ dizinini senkronizasyon dışında tutar.

Rsync ile dry-run Parametresini Kullanma

rsync -av --dry-run /klasor/kaynak/ kullanici@sunucu_ip:/klasor/sunucu/

Bu komut, /klasor/kaynak/ dizinindeki dosyaları user adlı kullanıcının sunucu_ip‘li sunucudaki /klasor/sunucu/ dizinine aktarmadan önce senkronizasyon işlemini simüle eder. Gerçek bir işlem yapmadan önce senkronizasyonun nasıl gerçekleşeceğini görmek için --dry-run parametresini kullanabilirsiniz.

Komutu çalıştırdıktan sonra, Rsync çıktısı simüle edilen işlemleri gösterecektir. Dosyaların hangilerinin aktarılacağı, hangilerinin atlanacağı ve hangi dosyaların güncelleneceği hakkında bilgi sağlayacaktır. Ancak, herhangi bir dosya veya dizin gerçekten kopyalanmayacaktır.

--dry-run parametresi, senkronizasyonun sonuçlarını önceden görmek ve olası hataları veya yanlış yapılandırmaları tespit etmek için faydalıdır. Bu şekilde gerçek senkronizasyon işleminden önce yapmanız gereken düzeltmeleri yapabilirsiniz.

Linux içinde yayınlandı
Bir yorum yaz