:::: MENU ::::

Rsync ile Senkronizasyon

Rsync, *nix sistemlerde oldukça sık kullanılan güzel bir dosya transfer uygulamasıdır. Yedekleme ya da senkronizasyon işlemlerinde sadece değişen dosyaların (incremental) kopyalanmasını sağlayarak işlemleri hızlandırmayı amaçlamaktadır. Rsync ile lokal yedekleme yapılabildiği gibi uzaktaki bir sisteme ssh üzerinden kopyalama yapabilmek de mümkündür.

Özellikle, bir çok dosya barındıran büyük dizinlerin hızlıca yedeklenme ihtiyacı gibi durumlar için ideal olan rsync, web sunucularda, kök dizinlerin birden fazla sistemde senkronize olarak tutulması (yansılama) gibi işlemler için sıklıkla kullanılmaktadır.

GNU Genel Kamu Lisans’ı altında dağıtılan rsync, bir çok Linux dağıtımında öntanımlı olarak yüklü gelmektedir. Kaynak ve hedef arasında kopyalama yapmadan önce, bir algoritma üzerinden dosyalar arasındaki farkları tespit eden rsync, hedef’e sadece değişikliğe uğramış ya da tamamen yeni olan dosyaları aktarır. Bu sayede kopyalama süreci hızlandırılmış olur.

Local sunucuda rsync işleminin temel kullanım şekli:

Uzak bir sunucuya rsync işlemi yapmak için:

Uzak bir sunucudan local sunucuya  rsync işlemi yapmak için:

RSYNC Parametreleri

 -a, [–archive] parametresi, bir çok özellik (-rlptgoD anahtarları) için kısaltma görevi görmektedir.  -a parametresinin içerdiği özellikler aşağıdaki gibidir:

-r : Kopyalama işlemi, alt dizinlerde kapsanacak şekilde recursive olarak yapılır.
-l : Sembolik linkler, sembolik link olarak kopyalanır.
-p : Dosya ve dizinlerin izin değerleri korunur.
-t : Dosyaların değiştirilme (mtime) bilgisi de transfer edilir. Senkronizasyon işlemleri için bu anahtar kullanılmalıdır.
-g : Dosya ve dizinlerin grup bilgileri korunur.
-o : Dosya ve dizinlerin sahip bilgileri korunur.
-D : Device dosyaları vs hedefte oluşturulur.

Yukarıda listelenen tüm parametreler (-rlptgoD ) tek tek girmek yerine kısaca -a paremetresini kulanarak devreye alınır.

-H : Hard linkleri de transfer eder.
-z : Transfer sırasında dosyaları sıkıştırır.
-v : verbose özelliği açılarak işlem sırasında detay alınabilmektedir.-vv ya da -vvv şeklinde işlem detayları daha da arttırılabilir.
–exclude : Belirtilen PATTERN, kopyalama işleminden muaf tutulur. Örnekler bölümünde detaylandırılacak.
–dry-run : Komut çalıştırıldığı zaman, hangi işlemlerin gerçekleşeceği gösterilir ancak işlemler gerçekte uygulanmaz.
–delete : Kaynak tarafta artık bulunmayan dosyalar, hedef taraftan da silinir. Dikkatli kullanmanızı öneririm.
–human-readable : Çıktılar, human-readable (anlaşılır) formatta verilir.

Lokal Diskler Arası Kopyalama

Lokalden Uzak Hosta Kopyalama

Komutu çalıştırdığınız zaman, 192.168.132.11  ip’li sisteme SSH üzerinden bağlantı sağlanacak ve kullanıcı şifreniz sorulacaktır. Şifrenizi girdikten sonra /home/omeroner/ dizininde bulunan tüm dosyalar, uzaktaki sistemin /home/omeroner dizini altında oluşturulan backups klasörüne SSH üzerinden (güvenli olarak) kopyalanacaktır.

Şifre sorulmamasını istediğiniz durumlar için uzaktaki sisteme key-based authentication (anahthar üzerinden kimlik doğrulaması) ile erişebilmek üzere sisteminizi yapılandırmanız gerekir. Bu yapılandırma için daha önce paylaştığım SSH Anahtarlı Kimlik Doğrulama inceleyebilirsiniz.

Uzak Hostan Lokale Kopyalama

Bu şekilde, 192.168.132.132 ip’li sistemin /backup/ dizininde bulunan dosyalar, lokal sisteminizin /backup/ dizinine transfer edilecektir.

Exclude (Hariç Tutma) İşlemleri

Rsync’in –exclude parametresi, yedekleme sırasında, kopyalamadan muaf tutulacak dosya tiplerinin ya da dizinlerin belirtilebilmesine yaramaktadır.

Örnek olarak, /home/omeroner  isimli şahsi dizininizde bir çok .tmp dosyası olması ve bu dosyaların yedeklenmesine gerek duymamanız gibi durumlarda, exclude parametresi kullanara:

–exclude parametresi, dosyalar için olduğu gibi dizinler için de kullanılabilmektedir. Örneğin aşağıdaki komut, /home/omeroner/ dizini altındaki “sahsi” isimli klasörü  yedekleme işleminden hariç tutmaktadır.

Dry-Run

Test modu  ile, girdiğiniz rsync komutunun yapacağı işlemleri, herhangi bir kopyalama olmaksızın test edebilirsiniz. Bunun için basitçe komuta [n] parametresini ekleyebilirsiniz:

daha ayrıntılı bilgi için sayfasını ziyaret edebilirsiniz.

 


So, what do you think ?

You must be logged in to post a comment.