Rsync oldukça yetenekli ve kullanımı kolay bir unix bileşenidir (diğer işletim sistemlerinde de çalışmaktadır). Hemen hemen tüm Linux / Unix dağıtımlarında ön tanımlı olarak kurulu olarak gelmektedir.
Bu yazıda rsync ile senkronizasyon işlemelerinin nasıl kolaylıkça yapılabileceğinden bahsetmek istiyorum.
Rsync nin Bir başka güzelliğide senkronizasyon yapacak kullanıcının sistem kullanıcısı olması gerekmemesidir.
Yani Sunucunuza erişim hakkı tanımak istediğiniz kişiye, sisteminizde hesap açmak zorunda değilsiniz.
Daha öce yazmış olduğum rsync sunucu kurulumu yazısını buradan okuyabilirsiniz.
Şimdi gelelim asıl mevzuya.
Örnek bir rsync sunucu kurup hem anonim erişime izin vereceğiz,
hemde erişim denetimi ile rsync ile sunucumuza dosya yükleyeceğiz.
erişimde kullanıcı doğrulamasının yapılacağı parola dosyası /etc/rsyncd.secrets olarak kaydediniz.
[code]truva:HeLe+/-/Nn[/code]
Örnek Rsync Yapılandırması /etc/rsyncd.conf olarak kaydediniz.
[code]uid = nobody
gid = nobody
use chroot = no
max connections = 2
syslog facility = local5
pid file = /var/run/rsyncd.pid
motd file = /etc/rsync.banner
log format = %h %o %f %l %b
log file = /var/log/rsync.log
[ftp]
path = /home/ftp
comment = ftp dosya alani
[mirror]
path = /home/caylak/public_html
comment = Mirror Dizini
[truva]
path = /home/truva
comment = Truva Linux
[truva-depo]
path = /home/truva
comment = truva depo (kimlik kanitlama gerekir)
auth users = truva
secrets file = /etc/rsyncd.secrets
read only = no
list = no
log file = /var/log/rsync-truva.log[/code]
Yapılandırmamıza göre rsync nobody kullanıcısı ve nobody grup hakları ile çalışacak.
Öncelikle dosya - dizin izinlerini ayarlıyoruz
/etc/rsyncd.secrets parola dosyamızın grup ve diğer kullanıcıların okuma hakkını kaldırıyoruz. eğer bu işlemi yapmazsak kullanıcı erişim denetimi başarısızlıkla sonuçlanıyor. Sunucumuzu test edelim bakalım yükleme yapılabilen modül listede varmı?
Evet görüldüğü gibi sunucumuz çalışır hale geldi.
Yükleme yapmak için kullanacağımız modül listede görünmüyor.
bunu rsyncd.conf dosyamızda list = no ile belirtmiştik.
Şimdi herhangi bir sistemden yükleme yapalım.
resimdede görüldüğü üzere bizden parola istendi, parolamızı girdik ve dosya yüklendi.
Peki bu parola girme işlemini atlayabilirmiyiz ?
Yani parola girmek istemiyoruz diyelim. :)
Kolayı var ;-)
[code]
touch .parola.txt
nano .parola.txt
chmod og-r .parola.txt
[/code]
Linux / Unix sistemlerde oluşturup kullanmak isterseniz yine sahiplik ayarlarını yapmanız gereklidir.
ev dizinimizde oluşturacağımız .parola.txt dosyasının içerisine şifremizi yazıyoruz ve ardından rsync komutumuza minik bir ekleme yapıyoruz.
[code]rsync --password-file=/root/.parola.txt -vaz Capture-nenedir.AVI truva@192.168.182.145::truva-depo/[/code]
Şimdi Parola sorulmadı.
Diğer sistemlerden yükleme yapmanız gerekir ve parola girmek istemezseniz.
öncelikle kök dizinde c: olur genelde :) parola.txt hazırlayıp içine şifrenizi yazınız.
Daha sonra Rsync komutunuzu bu şekilde kullanınız.
[code]rsync --password-file=/cygdrive/c/parola.txt -vaz acronis.iso truva@192.168.182.145::truva-depo/[/code]
Başarılı bir şekilde Parola sorulmadan dosyamızı yükledik ;-)
Yapılandırma dosyamızda
log file = /var/log/rsync-truva.log belirtmiştik.
Yapılan Senkronizasyon işlemlerinin takibini bu dosyadan yapabiliriz.
log çıktıları.
[code]2013/04/07 02:22:01 [3454] rsync to truva-depo/ from truva@UNKNOWN (192.168.182.1)
2013/04/07 02:22:01 [3454] receiving file list
2013/04/07 02:22:17 [3454] sent 213 bytes received 121151334 bytes total size 121110528
2013/04/07 02:33:53 [3520] rsync to truva-depo/ from truva@UNKNOWN (192.168.182.1)
2013/04/07 02:33:53 [3520] receiving file list
2013/04/07 02:34:07 [3520] sent 213 bytes received 121151334 bytes total size 121110528
2013/04/07 02:34:39 [3524] rsync to truva-depo/ from truva@UNKNOWN (192.168.182.1)
2013/04/07 02:34:39 [3524] receiving file list
2013/04/07 02:34:40 [3524] sent 194 bytes received 108 bytes total size 121110528
2013/04/07 02:35:14 [3528] rsync to truva-depo/ from truva@UNKNOWN (192.168.182.1)
2013/04/07 02:35:14 [3528] receiving file list
2013/04/07 02:35:28 [3528] sent 213 bytes received 121151334 bytes total size 121110528
2013/04/07 02:53:30 [3539] rsync to truva-depo/ from truva@UNKNOWN (192.168.182.1)
2013/04/07 02:53:30 [3539] receiving file list
2013/04/07 02:53:42 [3539] sent 213 bytes received 121151334 bytes total size 121110528
2013/04/07 02:56:17 [3543] rsync to truva-depo/ from truva@UNKNOWN (192.168.182.1)
2013/04/07 02:56:17 [3543] receiving file list
2013/04/07 02:56:17 [3543] JoomSolo_2.10a/
....
....
....
2013/04/07 03:07:41 [3543] sent 419978 bytes received 569653074 bytes total size 568063290
[/code]
Lütfen Yorumlarınızı yazmaktan çekinmeyiniz.
FreeBSD üzerinde Rsync kullanımı konulu güzel bir yazı, Mutlaka okumalısınız.
http://www.ipsure.com/blog-tr/2010/freebsd-uzerinde-rsync-ile-otomatik-yedekleme-ve-senkronizasyon-cozumu-part-1/
Linux Sunucu listesinden örnek bir rsync+ssh kullanımı.
Soru:
http://liste.linux.org.tr/pipermail/linux-sunucu/2010-June/016924.html
Çözümü:
http://liste.linux.org.tr/pipermail/linux-sunucu/2010-June/016936.html
Kaynakça:
- http://www.enderunix.org/docs/rsyncd_ile_passwordless_replikasyon.pdf
- http://www.syslogs.org/rsync-ile-dizin-senkronizasyon-ve-incremental-backup-islemleri/
- http://belgeler.gen.tr/man/man1/man1-rsync.html
Örnek Kullanımlar
eline sağlık aga. komut betiğini ayarlarım artık.
YanıtlaSil