RSYNC ile sunucudan dosya yedekleme, gönderme, alma işlemleri!

RSYNC basit olarak iki sunucu arasında dosya aktarımına olanak sağlayan, bağlantının yada sunucunun kapanması işleminden sonrada kaldığı yerden devam edebilen (tekrar başlatmanız gerekli) bir yedekleme yada diğer adıyla dosya alma gönderme işlemidir.

Bu yöntem daha çok yedekleme için kullanılıyor, çünkü bu işlem ile yedeklediğiniz yerdeki dosyalar arasına yenileri eklendiğinde tekrar hepsini almak yerine sadece o değişen dosyaları alıyor, buda zamandan ve trafikten tasarruf sağlıyor bize.

Anlamayanlar için küçük bir örnek vermek istiyorum: A sunucunuzda 500 gb lik bir klasör var. Bu klasör devamlı olarak yeni resimler, yeni dosyalar yada yedekler ile artıyor, büyüyor. Siz RSYNC yöntemi ile bu klasörü B sunucusuna yedeklediğinizde dosyalarınızı güvenle yedeklemiş olursunuz. Ancak söz konusu klasör hergün yenileriyle büyüyor. Böylece tekrar RSYNC yöntemi ile dosya çekmeye çalıştığınızda önceki yedeklediği dosyaları kontrol ederek almıyor ve sadece yeni eklenen, yani daha önce yedeklediğiniz dosyalar arasında olmayanları yedekliyor.. İlk işlem 2 saat sürerse, ikinci işlem 2 dakika sürecektir, çünkü olmayanları hesaplayıp alıyor.

Yeni baslayanlar ve sunucu isi ile ilgilenenlerin hezaman ihtiyac duyabilecegi bu ozelligi kullanmayi anlatacagim, boylece elimizde bir altin bilezik olsun 🙂

RSYNC islemi ile bir cok isi yapabilrisiniz: Ayni sunucuda icinde dosya transferi, yedekleme islemi, iki sunucu arasinda yedekleme, birden fazla sunucu arasinda dosya transferi gibi bir cok alanda size hizmet edebilir. Ayni zamanda bulundugunuz sunucudan bir baska sunucuya da dosya gonderebilirsiniz..

RSYNC Parametreleri:

Uygulama icin bunlar cok onemlidir, cunku elimiz, gozumuz, ayagimiz olacak bu parametreler. RSYNC komutunu kullanirken herzaman bu 3 parametreyi kullanmanizi oneririm: -avzu

  • a: Arsivleyerek indir anlamnia gelir
  • v: yedekleme islemlerini gormemizi saglar ssh ekranindan
  • z: Dosyalari sikistirirarak ceker, buda hiz acisindan iyi olabilecek bir secenek.
  • u: Dosya izinlerini cektiginiz sunucudaki kullanicininki ile ayni yapar. (kullanmaniz tavsiye olunur, aksi durumda farkli kullanici izinleri ile kaydedileceginden, internetde gormek istediginizde calismayacaktir.)

Bunlarin yaninda ek olarak kullanabilecegimiz parametreler:

  • -p: Dosya izinlerini (chmod) bozmadan, degistirmeden ayni sekilde aktarir.
  • -t: Dosya tarihlerini degistirmeden ayni sekilde aktarir.
  • -l: Kisayol dosyalarinida aktarir.
  • n: bu islemden emin degilim ama sanirim dosya aktarim sirasinda test yapiyor 🙂
  • -e: Dosyalarin ssh uzerinden gonderildigini belirtir.
  • –delete-after: Yedeklediginiz dosyalari, islem bittikten sonra silmenizi saglar. Bu yontemi dikkatli kullanin, hatda hic kullanmayin 🙂 Profesyonel degilseniz tavsiye edilmez..

RSYNC ile Ayni sunucu icinde dosya Transferi:

Ornek kullanim:

burda kuaza klasorunu www klasorunun icine klasor olarak aktardik, eger sonuna / isareti koysaydik kuaza klasorunun, o zamanda klasor yerine sadece icindekileri aktarmamizi saglayacaktir. Ornek sadece kuaza klasoru icindekileri aktarmak istersek:

Kod icerisinde parametreleri istediginiz gibi kullanabilirsiniz.

RSYNC ile sunucudan sunucuya dosya gondermek:

Yukardaki kullanim gibidir, tek yapmaniz gereken gonderilecek sunucu bilgilerinide girmek.

Bu islemden sonra size soru sorayaca, yes diye yazip enter yapin sonrasinda da karsi sunucunun, yani dosyalari gondermek istediginiz sunucunun sifresini soracak size, sifreyi yazin enter yapin, dogru ise islem baslayacak ve aktarimi goreceksiniz. Burda onemli olan nokta ilk islem sorasinda sunucuya erisimi olan kullanici ismini ve sunucunun IP adresini dogru kullanmaniz.

Ornegin: [email protected] : Burda root sunucuya baglanirken kullandigimiz kullanici adidir. Bazi sunucularda kullanici adi farkli olabilir. Ornegin Bluehost.com yada hostgator.com dan dosya cekmek istedigimizde giris sirasinda kullandigimiz kullanici adini yazmaniz gerekecek. Tabi ssh erisimi gerekebilir, bunuda zaten actirabiliyorsunuz kolaylikla..

RSYNC ile Baska sunucudan dosya cekmek:

Yukaridaki islemin tersini uygulayarak baska bir sunucudan o anda kullandiginiz sunucuya dosya aktarabilirsiniz.

Burda da IPsini yazdigimiz bilmem kac ipli sunucudan kuaza klasorunu kendi sunucumuzda bulunan www klasorune cekiyoruz. Tekrar ediyorum parametreler kismini istediginiz gibi kullanabilirsiniz. Ornegin chmod ayarlarinin da degismesini istemiyorsaniz -p parametresinide ekleyebilirsiniz..

Basitce bu islemi size anlatmaya calistim, benimde devamli kullandigim bir ozellik oldugu icin devamli bir yerde not olarak tutmam gerekiyor, bazen aradigimi kolay kolay bulamiyorum, ozellikle kullanimini unuttuklarimin.

Bu dokumanda yararlandigim kaynaklar:
http://ni.net.tr/blog/rsync-baslangic.html
http://www.manpagez.com/man/1/rsync/

Yardimci olabilecek kaynaklar:
http://www.linuxuzmani.com/2013/12/rsync-ile-yedekleme.html

Bir Cevap Yazın