Provided by:
manpages-tr_1.0.5.1-2_all 
ISIM
rsync - rcp yerine daha hizli ve esnek bir arac
KULLANIM
rsync [se,cenek]... kaynak [kaynak]... [kullanici@]konak:hedef
rsync [se,cenek]... [kullanici@]konak:kaynak hedef
rsync [se,cenek]... kaynak [kaynak]... hedef
rsync [se,cenek]... [kullanici@]konak::kaynak [hedef]
rsync [se,cenek]... kaynak [kaynak]... [kullanici@]konak::hedef
rsync [se,cenek]... rsync://[kullanici@]konak[:port]/kaynak [hedef]
A,CIKLAMA
rsync cogunlukla rcp gibi davranan bir uygulamadir, ancak daha fazla
secenek icerir ve ozellikle hedefteki dosyanin mevcut olmasi halinde
dosya aktarimini cok daha hizli gerceklestiren rsync uzak guncelleme
protokolunu kullanir.
rsync uzak guncelleme protokolu rsync'in ag baglantisi uzerinden sadece
iki dosya grubu arasindaki farklari aktarmasini mumkun kilar. Bunu bu
pakete eslik eden teknik raporda aciklanan verimli bir toplama
saglamasi arama algoritmasini kullanarak yapar.
rsync'e ozgu bazi ek ozellikler:
o baglarin, aygitlarin, sahip, grup ve izinlerin kopyalanmasini
destekler
o GNU tar'a benzer exclude ve exclude-from secenekleri
o CVS'nin yok sayacagi dosyalarin yoksayilmasini saglayan CVS dislama
(exclude) kipi
o rsh, ssh gibi uzak seffaf kabuklari kullanabilir
o root kullanicisinin yetkilerine ihtiyac duymaz
o gorunmeyen maliyetleri asgari duzeyde tutmak icin dosya
aktarimlarinda borulama yapar
o hem anonim hem de kimlik dogrulamali rsync sunucu destegi (yansilama
icin ideal)
GENEL
rsync sekiz farkli yontemle kullanilabilir:
o yerel dosyalari kopyalamak icin. Bu cagrida ne kaynak ne de hedef
dosya yolu bir : ayraci icermez.
o yerel makineden uzaktaki bir makineye bir uzak kabuk uygulamasi (ssh
veya rsh gibi) kullanarak dosyalari kopyalamak icin. Bu cagrida
sadece hedef dosya yolu tek bir : ayraci icerir.
o uzaktaki bir makineden yerel makineye bir uzak kabuk uygulamasi (ssh
veya rsh gibi) kullanarak dosyalari kopyalamak icin. Bu cagrida
sadece kaynak dosya yolu bir : ayraci icerir.
o uzaktaki bir rsync sunucusundan yerel makineye kopyalama yapmak
icin. Bu cagrida sadece kaynak dosya yolu bir :: ayraci veya bir
rsync:// URL'si icerir.
o yerel makineden uzaktaki bir rsync sunucusuna kopyalama yapmak icin.
Bu cagrida sadece hedef dosya yolu bir :: ayraci veya bir rsync://
URL'si icerir.
o uzaktaki makinede bulunan rsync sunucusunu ve bir uzak kabuk
uygulamasini kullanarak, uzaktaki makineden yerel makineye kopyalama
yapmak icin. Bu cagrida kaynak dosya yolunun bir :: ayraci icermesi
yaninda --rsh=komut (ya da -e komut) secenegi de kullanilir.
o uzaktaki makinede bulunan rsync sunucusunu ve bir uzak kabuk
uygulamasini kullanarak, uzaktaki makineye yerel makineden kopyalama
yapmak icin. Bu cagrida hedef dosya yolunun bir :: ayraci icermesi
yaninda --rsh=komut (ya da -e komut) secenegi de kullanilir.
o uzaktaki makinede bulunan dosyalarin listesini almak icin. Bu islem
uzaktaki makineden kopyalama islemindeki gibi ancak yerel hedefi
belirtmeden yapilir.
Tum durumlarda (burada listelenenler disinda kalanlar dahil) kaynak ve
hedef belirtimlerinden biri daima yerel olmalidir (yani rsync ile iki
uzak makine arasinda islem yapamazsiniz).
AYARLAR
Kurulum islemleri icin README dosyasina bakiniz.
Kurduktan sonra, bir uzak kabuk uzerinden eristiginiz (veya rsync
artalan kipi protokolu kullanarak eristiginiz) her makinede rsync
kullanabilirsiniz. Uzak dosya aktarimlari icin, gunumuzde rsync
iletisimde ssh kullanmasina ragmen ontanimli olarak kullanacagi uzak
kabuk rsh veya remsh gibi bir kabuk olarak da ayarlanabilir.
Bundan baska -e komut satiri seceneginin argumani olarak veya RSYNC_RSH
ortam degiskenine atayarak da istediginiz bir uzak kabuk uygulamasini
belirtebilirsiniz.
Yuksek derecede guvenlik istendiginde ortak kanaat ssh kullanmaktir.
Yalniz, rsync'in hem yerel hem de uzak makine uzerinde kurulu olmasi
gerektigini unutmayin.
KULLANIMI
rsync'i rcp'yi nasil kullaniyorsaniz oyle kullanabilirsiniz. Biri uzak
makine olmak uzere bir kaynak ve bir hedef belirtmelisiniz.
Suphesiz sozdizimini aciklamanin en kolay yolu bir ornek vermektir:
rsync -t *.c foo:src/
Bu komut calisma dizinindeki *.c kalibi ile eslesen tum dosyalari foo
makinesinin src dizinine kopyalayacaktir. Bu dosyalardan uzak makinede
mevcut olanlari icin rsync uzak guncelleme protokolu kullanilarak
sadece farklar gonderilir. Bu konuda daha ayrintili bilgi icin teknik
rapora bakiniz.
rsync -avz foo:src/bar /data/tmp
Bu komut, foo makinesindeki src/bar dizinindeki tum dosyalari varsa
altdizinlerdekileri de icererek yerel makinenin /data/tmp dizinine
kopyalar. Dosyalarin, sembolik baglarin, aygitlarin, ozniteliklerinin,
izinlerinin, sahiplerinin, v.s.sinin korunmasini saglayan "arsiv"
kipinde aktarim yapilir. Buna ek olarak, aktarim isleminin verileri
iceren kisimlarinin boyutunu kucultmek icin sikistirma uygulanir.
rsync -avz foo:src/bar/ /data/tmp
Kaynak yolunun sonuna eklenen / isareti hedefte ek bir dizin
olusturmaktan kacinilmasi davranisini degistirir. Sona eklenen bu /
isaretinin "dizini ismiyle kopyala" davranisinin ziddi olarak "bu
dizinin icerigini kopyala" anlamina geldigini dusunebilirsiniz, fakat
her iki durumda da dizinin oznitelikleri hedefteki dizine
kopyalanacaktir. Baska bir deyisle, asagidaki komutlarin her biri ile
dosyalar ayni sekilde, /dest/foo dizininin oznitelikleri ayarlanarak
kopyalanir:
rsync -av /src/foo /dest
rsync -av /src/foo/ /dest/foo
Ayrica, rsync'i sadece yerel kipte de kullanabilirsiniz. Bu durumda
hedef ve kaynak dosya yollarinin ikisi de isimlerinde ':'
icermeyecektir. Kopyalama islemi guclendirilmis bir kopyalama komutu
verilmis gibi yuruyecektir.
rsync somehost.mydomain.com::
Bu komut, somehost.mydomain.com makinesindeki kullanilabilecek tum
anonim rsync modullerini listeleyecektir. (Daha fazla bilgi icin
asagidaki bolumlere bakiniz.)
ILERI D"UZEY KULLANIM
Bir uzak makineden cok sayida dosya icin istek yaparken aralarinda
bosluk birakilmis kaynak dosya yollarini tirnak icine alarak
belirtebilirsiniz. Bazi ornekler:
rsync makine::'modulismi/dizin1/dosya1 modulismi/dizin2/dosya2' /hedef
Bu komut, bir rsync sunucusundan /hedef dizinine dosya1 ve dosya2
dosyalarini kopyalayacaktir. Her arguman ayni "modulismi/" onekini
icermeli ve arada sadece bir bosluk karakteri bulunmalidir. Diger tum
bosluklarin dosya isimlerine eklenecegi varsayilir.
rsync -av makine:'dizin1/dosya1 dizin2/dosya2' /hedef
Bu komut dosya1 ve dosya2 dosyalarini /hedef dizinine kopyalayacaktir.
Sozcuk ayirma islemi uzak kabuk tarafindan yapilir, yani eger sozcuk
ayirma gerceklesmemisse, bunun sebebi uzak kabugun bu islem icin
yapilandirilmamis olmasidir (nedendir bilinmez, cok yaygindir). Ismi
bosluk iceren bir dosyayi kopyalamak isterseniz, ya bunu uzak kabugun
anlayabilecegi bir yontemle yapmali ya da bosluklarin yerine dosya ismi
kaliplari kullanmalisiniz. Iki ornek:
rsync -av makine:'isminde\ bosluk\ olan\ dosya' /hedef
rsync -av makine:isminde?bosluk?olan?dosya /hedef
Ikinci ornekte, eslesmeyen kaliplari kabugunuzun anlayacagi
varsayilmistir. Bu takdirde bunlari tersbolu oncelemeli hale
getirecektir.
BIR RSYNC SUNUCUSUNA BAGLANMAK
Dosya aktarimi icin rsync'i bir uzak kabuk olmaksizin da kullanmak
mumkundur. Bu durumda, TCP 873. port uzerinde calisan bir uzak rsync
sunucusuna baglanacaksiniz.
RSYNC_PROXY ortam degiskenine bir makine:port cifti belirterek bir
vekil sunucu uzerinden de baglanti saglayabilirsiniz. Burada, vekil
sunucunuzun yapilandirmasinin 873. port uzerinden baglantiya izin
verdiginden emin olmalisiniz.
rsync'i bu yontemle kullanmanin bir uzak kabuk uzerinden kullanmaya
farklari sunlardir:
o ya makine ismini dosya yolundan ayirmak icin tek bir : yerine ::
kullanirsiniz ya da bir rsync:// URL bicimini kullanirsiniz.
o uzak sunucu baglandiginizda gunun iletisini basabilir.
o uzak sunucu icin bir dosya yolu belirtmezseniz, sunucu uzerinde
erisilebilir olan dosya yollarinin listesini alirsiniz.
o bir yerel hedef belirtmezseniz, uzak sunucu istediginiz dosyalarin
bir listesini yollar.
Uzak sunucu uzerindeki bazi dosya depolari kimlik dogrulamasi
gerektirebilir. Boyle bir durumda baglanmak istediginizde sizden parola
istenecektir. Parola istemi almamak icin parolanizi RSYNC_PASSWORD
ortam degiskenine kaydedebileceginiz gibi, --password-file secenegini
de kullanabilirsiniz. Bu kullanim rsync'i bir betik ile kullandiginiz
durumlarda yararlidir.
Uyari: Bazi sistemlerde ortam degiskenlerini tum kullanicilar
gorebilmektedir. Bu tur sistemlerde --password-file seceneginin
tercih edilmesi onerilir.
BIR RSYNC SUNUCUSUNA BIR UZAK KABUKTAN BAGLANMAK
Baglanti icin ssh veya rsh kullanarak ve dosya aktarimini rsync
sunucusunun yeteneklerinden yararlanarak yapmanin mumkun olmasi bazan
kullanisli olabilmektedir. Ozellikle, bir uzak makineye ssh uzerinden
baglanmak istediginizde (sifreleme icin ya da guvenlik duvarindan
gecebilmek icin) ama bunun yaninda rsync sunucusunun yeteneklerinden de
yararlanmak istediginiz durumlarda bu yararlidir (BIR UZAK KABUKTAN BIR
RSYNC SUNUCUSU ,CALI,STIRMAK bolumune bakiniz).
Kullanici acisindan, rsync'in bu yontemle kullanilmasi, komut
satirindan uzak kabuk uygulamasinin --rsh=komut ile belirtilmesi
disinda bir rsync sunucusuna baglanmaktan farksizdir. (Burada,
RSYNC_RSH ortam degiskenine bir atama yaparak uzak kabuk uygulamasi
belirtmek, beklenen islevselligi saglamayacaktir.)
Uzak kabuk kullanicisini, rsync sunucu kullanicisindan ayirmak icin
uzak kabuk komutunda '-l kullanici' secenegini kullanabilirsiniz:
rsync -av --rsh="ssh -l ssh-kullanicisi" \
rsync-kullanicisi@makine::modul[/yol] yerel-yol
"ssh-kullanicisi" ssh seviyesinde kullanilmalidir; "rsync-kullanicisi"
ise uzak makinenin rsyncd.conf dosyasindan sinanacaktir.
BIR RSYNC SUNUCUSU ,CALI,STIRMAK
Bir rsync sunucusu bir yapilandirma dosyasi kullanilarak
yapilandirilir. Daha ayrintili bilgi icin rsyncd.conf(5) kilavuz
sayfasina bakiniz. rsync'i bir uzak kabuk uygulamasi uzerinden ve root
olarak calistirmadikca, ontanimli olarak /etc/rsyncd.conf dosyasi
kullanilir. Aksi takdirde, uzak makinedeki calisma dizininde
(genellikle $HOME) bulunan rsyncd.conf ontanimlidir.
BIR UZAK KABUKTAN BIR RSYNC SUNUCUSU ,CALI,STIRMAK
rsync sunucusu yapilandirma dosyasi ile ilgili tum bilgiyi
rsyncd.conf(5) kilavuz sayfasinda bulabilirsiniz.
Uzak kullanici root (chroot, setuid/setgid, v.s.) olmadikca bazi
yapilandirma secenekleri kullanilamaz olacaktir. Eger rsync sunucusunu
bir uzak kabuk uygulamasi uzerinden kullaniyorsaniz, services
dosyasinda rsync sunucu portunun bulunmasi ya da inetd'nin
yapilandirilmasi gerekli degildir.
Bir tek kullanimlik ssh anahtari disinda bir rsync sunucusu calistirmak
icin rsyncd.conf(5) kilavuz sayfasindaki bu bolume bakiniz.
"ORNEKLER
Burada rsync kullanimiyla ilgili bazi ornekler bulacaksiniz.
Buyuk MS Word dosyalari ve eposta dizinlerinden olusan esimin ev
dizinini yedeklemek icin soyle bir cron isi calistiriyorum:
rsync -Cavz . arvidsjaur:backup
Her gece bir PPP baglantisi uzerinden bu dizini ayrica, kendi makinemin
arvidsjaur dizinine kopyaliyorum.
Samba kaynak agacini eszamanli tutmak icin su Makefile hedeflerini
kullaniyorum:
get:
rsync -avuzb --exclude '*~' samba:samba/ .
put:
rsync -Cavuzb . samba:samba/
sync: get put
Bu sayede baglantinin obur ucundaki bir CVS diziniyle benimkini
guncellememi sagliyor. Uzak makinede bir takim CVS islemleri yaptiktan
sonra uzak CVS protokolu ile bunlari kendi makinemde guncellemek
gecikmelerden dolayi pek verimli olmuyor.
"eski" ve "yeni" ftp sitelerim arasinda bir dizini su komutla
yansiliyorum:
rsync -az -e ssh --delete ~ftp/pub/samba nimbus:"~ftp/pub/tridge"
Bu komut her saat basi cron'dan calistiriliyor.
"OZETLE SE,CENEKLER
Burada rsync'de kullanilabilen seceneklerin bir ozetine yer verilmistir
(rsync --help komutu bu listeyi ciktilar). Bu secenekler bir sonraki
bolumde ayrintili olarak aciklanmistir.
-v, --verbose cikti daha ayrintili olur
-q, --quiet hatalar disinda bilgi verilmez
-c, --checksum sadece toplam saglamaya bakilir, zaman ve
boyut degisikliklerine bakilmaz
-a, --archive arsiv kipi; -rlptgoD (-H'siz) ile ayni
-r, --recursive dizinlerin alt dizinlerine inilir
-R, --relative goreli dosya yollari kullanilir
--no-relative --relative kapatilir
--no-implied-dirs -R uygulanmis dizinler gonderilmez
-b, --backup yedekleme yapilir (--suffix ve
--backup-dir seceneklerine bakin)
--backup-dir=DIZIN sadece belirtilen dizinin icerigi
yedeklenir
--suffix=SONEK yedekleme soneki
(--backup-dir yoksa ~ ontanimlidir)
-u, --update hedeftekiler daha yeniyse bu dosyalar
atlanir
--inplace hedef dosyalari yerinde gunceller
-d, --dirs altdizinlere inmeden dizinleri aktarir
-l, --links sembolik baglari sembolik bag olarak
kopyalar
-L, --copy-links sembolik bag degil bagin son hedefi
kopyalanir
--copy-unsafe-links sadece guvensiz sembolik baglar
donusturulur
--safe-links agacin disini hedefleyen sembolik
baglar yoksayilir
-H, --hard-links sabit baglar korunur
-K, --keep-dirlinks sembolik bagli dizinler alicida dizin
yapilir
-p, --perms izinler korunur
-o, --owner sahip korunur (sadece root)
-g, --group grup korunur
-D, --devices aygitlar korunur (sadece root)
-t, --times zamanlar korunur
-O, --omit-dir-times zamanlar korunurken dizinler bunun
disinda tutulur
-S, --sparse seyrek dosyalari en verimli sekilde
elde eder
-n, --dry-run islemi yapiyormus gibi gosterir ama yapmaz
-W, --whole-file dosyalari tamamen kopyalar
(rsync algoritmasi ile farklari degil)
--no-whole-file daima arttirimli rsync algoritmasi
kullanilir
-x, --one-file-system dosya sistemi sinirlarinin disina cikilmaz
-B, --block-size=BOYUT sabit bir blok boyunda saglama toplamina
zorlar
-e, --rsh=KOMUT kullanilacak uzak kabuk uygulamasi
belirtilir
--rsync-path=UYGULAMA uzak makinede rsnc'in calistiracagi
uygulama
--existing sadece hedefte mevcut olan dosyalar
guncellenir
--ignore-existing hedefte mevcut olan dosyalar yoksayilir
--remove-sent-files alinan dosyalar/sembolik baglar
gondericide silinir
--del --delete-during ile ayni
--delete gondericide olmayan dosyalar alicida
silinir
--delete-before alicida aktarim oncesi silme yapilir
(ontanimli)
--delete-during alicida aktarim sirasinda silme yapilir
--delete-after alicida aktarim sonrasi silme yapilir
--delete-excluded alicida ayrica dislanmis dosyalar da
silinir
--ignore-errors G/C hatalari olsa da siler
--force dizinler bos olmasa bile silinir
--max-delete=SAYI SAYIdan fazla dosya silinmez
--max-size=BOYUT BOYUTtan daha buyuk dosyalar aktarilmaz
--partial kismen aktarilmis dosyalar tutulur
--partial-dir=DIZIN kismen aktarilmis dosyalar DIZINde tutulur
--delay-updates guncellenecek tum dosyalar sona birakilir
--numeric-ids kullanici/grup kimliklerini isimlerle
eslestirmez
--timeout=SURE G/C zamanasimini SURE saniyeye ayarlar
-I, --ignore-times zaman ve boyut bakimindan eslesen dosyalar
atlanmaz
--size-only boyutlari ayni olan dosyalar atlanir
--modify-window=SAYI dogrulugu arttirmak icin degisiklik
zamanlari karsilastirilir
-T, --temp-dir=DIZIN gecici dosyalari DIZINde olusturur
-y, --fuzzy hedefte dosya yoksa benzerini bulur
--compare-dest=DIZIN alinan dosyalari ayrica DIZINdekilerle
karsilastirir
--link-dest=DIZIN degismediyse DIZINdeki dosyalara sabit bag
-z, --compress aktarim sirasinda dosya verisi sikistirilir
-C, --cvs-exclude dosyalar CVS'nin yaptigi gibi yoksayilir
-f, --filter=KURAL bir dosya suzme kurali ekler
-F --filter='dir-merge /.rsync-filter' ve
yinelemeli: --filter='- .rsync-filter'
ile ayni
--exclude=KALIP KALIP ile eslesen dosyalar dislanir
--exclude-from=DOSYA dislama kaliplari DOSYAdan okunur
--include=KALIP KALIP ile eslesen dosyalar dislanmaz
--include-from=DOSYA dislanmayan kaliplar DOSYAdan okunur
--files-from=DOSYA aktarilacak dosyalarin isimlerinin listesi
DOSYAdan okunur
-0, --from0 *from seceneklerindeki dosya listeleri bos
karakter sonlandirmali kabul edilir
--version surum numarasini basar
--port=PORT baska bir port belirtmek icin
--blocking-io uzak kabukta engellemeli G/C kullanilir
--no-blocking-io engellemeli G/C ontanimli oldugunda bunu
iptal eder
--stats dosya aktarimi sirasinda durum bilgileri
verir
--progress aktarim sirasinda gelisimi gosterir
-P --partial --progress ile ayni
-i, --itemize-changes tum guncellemeler icin bir degisiklik
ozeti ciktilar
--log-format=BICIM aktarimlari belirtilen bicimde gunlukler
--password-file=DOSYA parola DOSYAdan okunur
--list-only dosyalari kopyalamaz, sadece listeler
--bwlimit=KBPS saniyede kBayt cinsinden G/C band genisligi
--write-batch=DOSYA bir betikli guncellemeyi DOSYAya yazar
--read-batch=DOSYA bir betikli guncellemeyi DOSYAdan okur
--checksum-seed=SAYI blok/dosya saglama toplami tohumunu ayarlar
-4, --ipv4 IPv4 tercih edilir
-6, --ipv6 IPv6 tercih edilir
-h, --help bu yardim iletisini gosterir
rsync ayrica bir artalan sureci olarak da calistirilabilir. Bu durumda
su secenekleri kabul eder:
--daemon bir rsync artalan sureci olarak calisir
--address=ADRES belirtilen adres kullanilir
--bwlimit=KBPS saniyede kBayt cinsinden G/C band genisligi
--config=DOSYA rsyncd.conf yerine kullanilacak DOSYA
--no-detach ust surecten ayrik calismaz
--port=PORT belirtilen PORTu dinler
-v, --verbose ayrinti duzeyini arttirir
-4, --ipv4 IPv4 tercih edilir
-6, --ipv6 IPv6 tercih edilir
-h, --help bu yardim iletisini gosterir
A,CIKLAMALARIYLA SE,CENEKLER
rsync GNU uzun secenekler paketini kullanir. Cogu komut satiri secenegi
hem kisa hem de uzun secenek icerir. Bazi secenekler ise sadece uzun
seceneklerden olusur. `=' isareti iceren seceneklerdeki parametreler
istege baglidir; `=' yerine bosluk kullanilabilir.
-h, --help
rsync tarafindan kabul edilen secenekleri aciklayan kisa bir
yardim iletisi basar.
--version
rsync surum numarasini basar ve cikar.
-v, --verbose
Bu secenek aktarim sirasinda verilen bilgi miktarini arttirir.
rsync ontanimli olarak sessiz calisir. Tek -v belirtildiginde,
hangi dosyalarin aktarildigini gosterip sonunda bir ozet basar.
Iki -v belirtildiginde atlanan dosyalari gosterir ve sonunda
daha fazla bilgi verir. Ikiden fazla -v kullanimi sadece rsync
hata ayiklamasi yapiyorsaniz anlamlidir.
Aktarilan dosya isimlerinin ciktilanmasinda --log-format
seceneginin ontanimli olarak "%n%L" ile kullanildigi
varsayilarak sadece dosyalarin isimleri ve varsa sembolik baglar
hedefleri ile belirtilir. Tek -v seviyesinden bir ayrintida bir
dosyanin oznitelikleri degismisse bu gosterilmez. Degistirilen
ozniteliklerin ogelere gore listelenmesi isterseniz
(--itemize-changes secenegiyle ya da --log-format secenegine
"%i" ekleyerek), istemcideki ciktida degistirilen tum ogelerin
ayrinti duzeyi arttirilir. Daha fazla bilgi icin --log-format
seceneginin aciklamasina bakiniz.
-q, --quiet
Bu secenek aktarim sirasinda verilen bilgi miktarini azaltir.
Ozellikle uzak sunucudaki bilgi iletileri baskilanir. Bu secenek
rsync'i cron'dan calistirirken yararlidir.
-I, --ignore-times
Normalde rsync hedefte de ayni boyutta ve ayni degisiklik
zamanina sahip dosyalar varsa bunlari atlayacaktir. Bu secenek
bu "hizli sinama" davranisini kapatir.
--size-only
Normalde rsync hedefte de ayni boyutta ve ayni degisiklik
zamanina sahip dosyalar varsa bunlari atlayacaktir. Bu
secenekle, dosyalarin zamanlarina bakilmaksizin hedefte de ayni
boyutta iseler aktarilmazlar. Zaman degerlerinin dogru
tutulmadigi baska bir yansilama sistemini kullandiktan sonra
rsync'i kullanmaya baslayacaksaniz bu secenek yararlidir.
--modify-window=sayi
Iki zaman degerini karsilastirirken, fark sayi'ya esitse rsync
bu degerleri esit kabul eder. Bu fark normalde 0 dir (tam
esitlik), ancak bu farki bazi durumlarda daha buyuk bir degere
ayarlamak daha yararlidir. Ornegin, MS Windows FAT dosya sistemi
(zaman degerleri 2 saniyelik cozunurluge sahiptir) taraflardan
biri oldugunda --modify-window=1 yararlidir (1 saniyelik
farklara izin vermek).
-c, --checksum
Bu secenek gondericiyi aktarimdan once tum dosyalari 128 bitlik
MD4 saglama toplamini kullanarak sinamaya zorlar. Saglama
toplami dogrudan alicida sinanir ve mevcut olanlar arasinda ayni
saglama toplamli, ayni boyutlu ve ayni isimli olanlar
aktarilmaz. Bu secenek aktarim islemini oldukca yavaslatabilir.
-a, --archive
Bu secenek -rlptgoD seceneklerine esdegerdir. Alt dizinlere
inerek islem yapilmasini ve hemen hemen herseyin korunmasini
istemenin en kestirme yoludur; bir sey disinda: --files-from
belirtilmisse -r uygulanmayacaktir.
Cok sayida bagli dosyanin varligi pahaliya mal olacagindan -a
secenegi sabit baglari korumaz. Bunu istiyorsaniz -H secenegini
ayrica belirtmelisiniz.
-r, --recursive
Bu secenek alt dizinlerinde ardisik olarak kopyalanmasini
saglar. Ayrica --dirs (-d) secenegine de bakiniz.
-R, --relative
Goreli dosya yollari kullanilir. Yani, komut satirinin gonderici
kisminda belirtilen dosya yolunun son parcasi degil, dosya
yolunun tamami kopyalanir. Bu secenek ayni anda cok sayida
dizini gondermek icin yararlidir. Ornegin soyle bir komut,
rsync /foo/bar/foo.c remote:/tmp/
uzak makinede /tmp/foo.c dosyasini olusturur. Bunun yerine su
komutu kullansaydiniz,
rsync -R /foo/bar/foo.c remote:/tmp/
uzak makinede /tmp/foo/bar/foo.c dosyasi olusturulacakti (dosya
yolunun tamami kopyalanir). Karsiya yollanacak yol uzunlugunu
sinirlamak icin soyle yapabilirsiniz:
cd /foo
rsync -R bar/foo.c remote:/tmp/
Bu komut uzak makinede /tmp/bar/foo.c dosyasini olusturur.
--no-relative
--relative secenegini iptal eder. Bu ozellikle --files-from
seceneginin gerektigi durumlarda --relative secenegi
uygulanmaksizin dosyalari isleme sokmakta yararlidir.
--no-implied-dirs
--relative secenegi ile birlikte kullanildiginda her dosya
yolundaki dolayli dizinler, aktarimin parcasi olarak yinelenmez.
Bu dosya aktarimini daha elverisli yaptigi gibi ayrica dosya
yolunun dolayli parcalarinda iki tarafta eslesmeyen sembolik
baglarin varligini mumkun kilar. Ornegin, "/path/foo/file"
dosyasini -R ile aktarirsaniz, hedefte "/path" ve "/path/foo"
ile kaynagin dizin ve sembolik baglari tamamen
eslestirilecektir. --no-implied-dirs seceneginin kullanimi bu
dolayli dizinlerin her ikisinin de atlanmasina yol acar. Yani,
eger "/path" bir makine uzerinde gercek bir dizin, ancak diger
makinede bir sembolik bag ise, rsync bunu degistirmeye
calismayacaktir.
-b, --backup
Bu secenekle, evvelce mevcut hedef dosyalarin her aktariminda ya
da silinmesinde bu dosyalarin isimleri degistirilir. Yedek
dosyalarin nereye gidecegini ve nasil bir sonek alacaklarini
--backup-dir ve --suffix secenekleri ile belirtebilirsiniz.
Eger --backup-dir secenegini belirtmezseniz, --omit-dir-times
secenegi etkin kilinacaktir.
--backup-dir=dizin
--backup secenegi ile birlikte kullanildiginda bu secenekle
yedek dosyalarin hangi dizinde saklanacagi belirtilebilir. Bu,
arttirimli yedekleme yaparken cok yararlidir. Buna ek olarak
--suffix secenegini kullanarak bir yedek soneki de
belirtebilirsiniz (aksi takdirde dosyalar belirtilen dizine
kendi isimleri ile yedeklenir).
--suffix=sonek
Bu secenek --backup (-b) ile kullanildiginda, belirtilen sonek
ontanimli yedekleme sonekinin yerine kullanilir. --backup-dir
belirtilmemisse, ontanimli sonek ~ isaretidir, aksi takdirde bos
bir dizgedir.
-u, --update
Bu secenek, hedefte mevcut olan bir dosyanin degisiklik
zamaninin kaynak dosyaninkinden daha yeni oldugu durumda
atlanmasini saglar. (Eger hedef dosyanin degisiklik zamani
kaynaginkiyle ayniysa, ama boyutlari farkliysa guncelleme
yapilacaktir.)
--update seceneginin su anki gercekleniminde gonderici ve alici
arasinda dosya bicimlerinde bir fark varsa, bu, guncelleme icin
tarihlerden daha onemli olarak ele alinir. Baska bir deyisle,
hedef bir dosyaya sahipken, kaynak bir dizin veya bir sembolik
baga sahipse, aktarim dosyalarini zaman degerlerine
bakilmaksizin yapilir. Bu davranis ileride degisebilir (bu
konuda bir fikriniz varsa, eposta listesinde bunu aciklamaktan
cekinmeyin).
--inplace
Bu secenek rsync'in dosyanin yeni bir kopyasinin
olusturulmamasina ve yerine tasinmamasina sebep olur. Bunun
yerine rsync mevcut dosyanin uzerine yazacaktir,yani rsync
algoritmasi ag yukunu tamamen azaltmayi basaramaz (henuz veriyi
uyumlu siralamayi denemediginden). Buna bir istisna, rsync yedek
dosyalari aktarimda temel dosya olarak kullanma yeterliginde
oldugundan, secenegin --backup ile birlikte kullanilmasidir.
Bu secenek blok temelli degisiklikler olan ya da sonuna ekleme
yapilan cok buyuk dosyalarla, disk ve ag bakimindan sinirli
sistemlerde yararlidir.
Bu secenek --partial (kesilmeye ugramis bir aktarimda dosya
silinmez) secenegini uygular, fakat --partial-dir ve
--delay-updates secenekleriyle celisir. rsync 2.6.4 oncesinde
--inplace ayrica --compare-dest ve --link-dest secenekleriyle de
celisiyordu.
Uyari: Dosya verisi aktarim sirasinda kararsiz bir durumda
olacaktir (ve buyuk ihtimalle aktarim kesintiye
ugradiktan sonra da), dolayisiyla, kullanilmakta olan
dosyalari bu secenegi kullanarak guncellememelisiniz.
Ayrica, alici kullanicinin yazma izni olmayan dosyalarin
rsync tarafindan yerinde guncellenemeyecegini de
unutmayin.
-d, --dirs
Gonderen tarafin saptanan her dizini icerecegini soyler.
--recursive seceneginin tersine, bir dizinin icerigi, dizin
komut satirinda "." ya da bir bolu cuzgisi ile biten bir isim
("foo/" gibi) ile belrtilmedikce kopyalanmaz. Bu secenek ya da
--recursive secenegi olmaksizin, rsync saptadigi tum dizinleri
atlayacaktir (ve herbiri icin bir ileti ciktilayacaktir).
-l, --links
Saptanan her sembolik bag hedefte olusturulur.
-L, --copy-links
Sembolik bag saptandiginda sembolik bag degil, hedefindeki dosya
kopyalanir. rsync'in eski surumlerinde, bu secenek ayrica alici
tarafa, dizin sembolik bagi gibi sembolik baglari izlemesini
soylemek gibi bir yan etkiye sahipti. Gunumuzde ise, rsync,
boyle bir durumda, bu ek davranisi saglamak icin sizin
--keep-dirlinks (-K) secenegini belirtmenizi gerektirir. Buna
tek istisna, -K secenegini anlayacak cok eski bir rsync ile
dosyalarin gonderilmesidir -- bu durumda -L secenegi daha eski
bir rsync ile hala -K seceneginin yan etkisine sahip olacaktir.
--copy-unsafe-links
Bu secenek rsync'e, kopyalanan agacin disindaki bir hedefi
gosteren sembolik baglari kopyalamasini soyler. Mutlak sembolik
baglar ayrica siradan dosyalar olarak ele alinir, boylece bunlar
--relative kullanildiginda kaynak dosya yolunun kendindeki
sembolik baglar olurlar.
safe-links
Bu secenek rsync'e, kopyalanan agacin disindaki bir hedefi
gosteren sembolik baglari yoksaymasini soyler. Bu secenegin
--relative secenegiyle birlikte kullanilmasi beklenmedik
sonuclara yol acabilir.
-H, --hard-links
Bu secenek rsync'e, sabit baglari ayni kaynak sistemdeki gibi
yeniden olusturmasini soyler. Bu secenek olmaksizin sabit baglar
siradan dosyalar olarak ele alinirlar.
rsync'in, eger bagin her iki parcasi da dosya listesi ile
gonderilmisse, sabit baglari saptayabilecegini unutmayin.
Bu secenek islemi yavaslatabilir, gercekten bu islevsellige
ihtiyaciniz varsa kullanin.
-K, --keep-dirlinks
Alici tarafta, bir sembolik bag bir dizini gosteriyorsa, bunun
gonderici tarafta bir dizinle eslestigi varsayilacaktir.
-W, --whole-file
Bu secenekle arttirimli rsync algortimasi kullanilmaz ve bunun
yerine dosya oldugu gibi gonderilir. Eger kaynak ile hedef
arasindaki band genisligi diskin band genisliginden (ozellikle
disk, ag dosya sisteminin bir parcasi ise) daha yuksekse bu
secenek daha hizli olabilir. Kaynak ve hedef, yerel dosya
yollari olarak belirtilmisse bu secenek ontanimlidir.
--no-whole-file
--whole-file ontanimli oldugunda bu secenek onu kapatir.
-p, --perms
Bu secenek rsync'e, izinleri hedefte ayni kaynak sistemdeki gibi
belirlemesini soyler.
Bu secenek olmaksizin, her yeni dosya izinlerini kaynak dosyanin
izinlerine ve alici taraftaki umask'a gore belirlenir, diger tum
dosyalar (guncellenenler dahil) kendi mevcut izinleriyle kalir
(bu, cp gibi diger dosya kopyalama araclarinda da boyledir).
-o, --owner
Bu secenek rsync'e, hedef dosyanin sahibini ayni kaynak
dosyadaki gibi belirlemesini soyler. Cogu sistemde sadece
ayricalikli kullanici dosya aidiyetini belirleyebilir. Ontanimli
olarak, koruma isim tarafinda yapilir, fakat bazi durumlarda son
care olarak kullanici kimligi kullanilir. Bu konu --numeric-ids
seceneginin aciklamasinda daha ayrintili incelenmistir.
-g, --group
Bu secenek rsync'e, hedef dosyanin grubunu ayni kaynak dosyadaki
gibi belirlemesini soyler. Alici tarafta rsync'i ayricalikli
kullanici calistirmiyorsa, sadece alicinin uyesi oldugu gruplar
icin bu yapilabilir. Ontanimli olarak islem grup ismine gore
yapilir, ancak bazi durumlarda son care olarak grup kimligi de
kullaniabilir. Bu konu --numeric-ids seceneginin aciklamasinda
daha ayrintili incelenmistir.
-D, --devices
Aktarilan karakter ve blok aygitlari hedefte yeniden
olusturulur. Bu secenegi sadece ayricalikli kullanici
kullanabilir.
-t, --times
Bu secenek rsync'e, dosyalari degisiklik zamanlarina gore
aktarmasini ve bunlari uzak sistemde guncellemesini soyler. Bu
secenek kullanilmazsa, eniyileme yuzunden degistirilmemis
dosyalarin dislanmasi verimli olamaz; baska bir deyisle, -t veya
-a seceneginin yoklugu sonraki aktarimda -I kullanilmis gibi tum
dosyalarin guncellenmesine yol acar (rsync algoritmasi
guncellemeyi oldukca verimli yapacagindan, eger dosyalar
gerecekten degismemisse, -t kullanmaniz cok daha iyi olacaktir).
-O, --omit-dir-times
Eger rsnc degisiklik zamanlarini guncelliyorsa (--times ile), bu
secenek belirtildiginde dizinleri bunun disinda tutar. Eger
alici tarafta NFS dizinleri paylastiriyorsa, -O secenegini
kullanmak daha iyidir. Bu secenek --backup secenegi --backup-dir
olmaksizin kullanilmis gibi sonuc verir.
-n, --dry-run
Bu secenek rsync'e, herhangi bir dosya aktarimi yapmamasini,
sadece yapiyormus gibi islemleri raporlamasini soyler.
-S, --sparse
Bu secenekle rsync, seyrek dosyalarin hedefte daha az yer
kaplayacak sekilde elde edilmesini saglamaya calisir.
Bilgi: Bu secenegi hedefteki dosya sistemi Solaris "tmpfs" ise
kullanmayin. Bos bolgelerin duzgunce atlanmasini
saglayamaz ve dosya sonunda bozulmalar olusur.
-x, --one-file-system
Bu secenek rsync'e, aktarim sirasinda dosya sistemi sinirlarinin
disina cikmamasini soyler. Bu secenek, tek bir dosya sisteminin
icerigini aktarmak icin yararlidir.
--existing
Bu secenek rsync'e, hedefte yeni dosya olusturulmasini
gerektirecek aktarimlari yapmamasini sadece guncelleme yapmasini
soyler.
--ignore-existing
Bu secenek rsync'e, hedefte mevcut olan dosyalari
guncellememesini soyler.
--remove-sent-files
Bu secenek rsync'e, hedefte yeni olusturulan dosyalarla icerigi
guncellenenleri, gonderen taraftan silmesini soyler. Dizinler ve
aygitlar ile sadece oznitelikleri degistirilmis dosyalar
silinmez.
--delete
Bu secenek rsync'e, hedefte olup kaynakta olmayan dosyalari
hedeften silmesini soyler, fakat sadece dosyalar dizinleri ile
belirtilmisse bu yapilir. Yani, rsync'den tum dizini ("dir" veya
"dir/" gibi) gondermesini istemeli, dizin icerigini belirten
dosya kaliplari ("dir/*" gibi) belirtmemelisiniz. Dosya
kaliplari belirtildiginde kalip kabuk tarafindan yorumlanir ve
kabuk rsync'den dosyalari kapsayan dizini degil, tek tek
dosyalari aktarmasini ister. Aktarimdan dislanan dosyalardan
biriyse, --delete-excluded kullanilmamissa ya da kurallar sadece
gonderen tarafla eslesenleri imliyorsa hedefte silinecek olanlar
da dislanir (S"UZME KURALLARI bolumundeki icerme/dislama
belirteclerine bakiniz).
Alt dizinlere inilmiyorsa bu secenek etkisizdir.
Bu secenek dogru sekilde kullanilmazsa tehlikeli olabilir. Once
--dry-run (-n) secenegiyle silinecek dosyalari gorup, onemli
dosyalarin silinmeyeceginden emin olduktan sonra asil islemi
baslatmak cok daha iyidir.
Gonderen tarafta bir G/C hatasi saptandiginda hedefteki dosya
silme islemi iptal edilir. Bu, gonderen tarafin alici taraftaki
dosyalari tumden silmesi gibi gecici dosya sistemi hatalarina
karsi (NFS hatalari gibi) bir onlemdir. Bu davranisi
--ignore-errors secenegiyle iptal edebilirsiniz.
--delete secenegi silme zamanini belirten --delete-*
secenekleriyle, --delete-excluded dahil, herhangi bir sorun
olmaksizin birlestirilebilir. Ancak, silme zamanini belirten
--delete-* seceneklerinden biri belirtilmemisse, rsync ontanimli
olarak --delete-before algoritmasini secer. Ileri surumlerde bu
secim --delete-during algoritmasiyla degistirilebilir. Ayrica,
--delete-after secenegine de bakiniz.
--delete-before
Alici taraftaki dosya silme islemlerinin aktarimin baslangicinda
yapilmasini saglar. Bu secenek --delete veya --delete-excluded
secenegi ile birlikte silme zamanini belirten --delete-*
seceneklerinden biri belirtilmemisse ontanimlidir. Dosya
silinmesi ile ilgili daha ayrintili bilgi icin --delete
seceneginin aciklamasina bakiniz.
Aktarimin basinda silme yapilmasi, eger dosya sistemi doluluk
bakimindan sinirda ise ve ancak fazlaliklarin kaldirilmasiyla
dosya aktarimi mumkun olabilecekse yararlidir. Ancak, bu secenek
aktarimin baslamasini geciktirdiginden aktarimin zamanasimina
ugramasina (--timeout belirtilmisse) sebep olabilir.
--delete-during, --del
Alici taraftaki dosya silme islemlerinin aktarimi sirasinda
yapilmasini saglar. Bu yontem silme isleminin aktarimdan once ve
sonra yapildigi algoritmalardan daha hizlidir. Fakat ilk olarak
rsync'in 2.6.4 surumuyle kullanilabilir olmustur. Dosya
silinmesi ile ilgili daha ayrintili bilgi icin --delete
seceneginin aciklamasina bakiniz.
--delete-after
Alici taraftaki dosya silme islemlerinin aktarim tamamlandiktan
sonra yapilmasini saglar. Eger aktarimin bir parcasi olarak
dizin bazinda yeni dosya birlesimleri yapiyorsaniz ve bunlarin
ihracinin aktarimin silme fazinda etkin olmasini istiyorsaniz bu
secenek yararli olacaktir. Dosya silinmesi ile ilgili daha
ayrintili bilgi icin --delete seceneginin aciklamasina bakiniz.
--delete-excluded
Alici tarafta olup, gonderici tarafta olmayan dosyalarin alici
tarafta silinmesine ek olarak, alici tarafta dislanan
dosyalarinda silinmesini saglar (--exclude secenegine bakiniz).
Alici tarafta tek tek dosyalarin dislanmasinin bu yontemle
silinmesi ve silinmesi istenmeyen dosyalarin bu secenekten
korunmasi ile ilgili bilgiler icin S"UZME KURALLARI bolumune
bakiniz. Dosya silinmesi ile ilgili daha ayrintili bilgi icin
ise --delete seceneginin aciklamasina bakiniz.
--ignore-errors
G/C hatalari olsa bile --delete isleminin surdurulmesini saglar.
--force
Gonderici tarafta olmayan ancak alici tarafta olan dizinlerin
icleri dolu bile olsa silnmesini saglar. Bu sadece --delete
secenegi olmaksizin boyledir, cunku silme islemleri artik icice
dizinler iceren bir tepe dizinin silinmesi seklinde
yapilmaktadir. Etkin olmasi icin --recursive secenegi (-a
tarafindan uygulanir) gerekir.
--max-delete=sayi
sayi'dan fazla dosya ya da dizin silinmez. Yansilama yapilirken
cok buyuk agaclarin yikima yol acmamasi icin yararlidir.
--max-size=boyut
boyut bayttan dha buyuk dosyalar aktarilmaz. boyut
belirtilirken, sonek olarak K, M, G gibi bayt carpanlari
belirtilebilecegi gibi kesirli degerler de belirtilebilir
(--max-size=1.5m gibi).
-B, --block-size=blokboyu
rsync algoritmasinda sabit bir blok boyunun kullanimina zorlar.
Normalde, bu deger guncellenen her dosya icin ayri ayri secilir.
Daha ayrintili bilgi icin teknik rapora bakiniz.
-e, --rsh=komut
Bu secenek rsync'in yerel ve uzak kopyalarin arasinda iletisim
icin bir uzak kabuk uygulamasi belirleyebilmeyi saglar. Genelde,
rsync ontanimli olarak ssh kullanacak sekilde yapilandirilir,
fakat bir yerel agda rsh kullanmayi da tercih edebilirsiniz.
Bu secenek [kullanici@]makine::modul/yol ile kullanilirsa, uzak
makinedeki rsync sunucusunu calistirmak icin belirtilen uzak
kabuk komut'u kullanilacak ve aktarim icin uzak makinede calisan
rsync suncusunun soket baglantisi degil, uzak kabuk baglantisi
kullanilacaktir. Ayrica, yukaridaki BIR RSYNC SUNUCUSUNA BIR
UZAK KABUKTAN BAGLANMAK bolumune de bakiniz.
komut icinde rsync sadece tek bir argumana izin verir. Ornek:
-e "ssh -p 2234"
Bilgi: ssh kullanicilari makineye ozel baglanti seceneklerini
kendi .ssh/config dosyasi ile kisisellestirebilirler.
Uzak kabuk uygulamasini secmek icin RSYNC_RSH ortam degiskenini,
-e seceneginde belirtilebilen bir degeri atayarak
kullanabilirsiniz.
Ayrica, bu secenekten etkilenen --blocking-io seceneginin
aciklamasina da bakiniz.
--rsync-path=uygulama
Uzak makinede baslangicta hangi uygulamanin calistirilacagini
belirtmek icin kullanilir. Cogunlukla, rsync'in uzak kabugun
ontanimli yollari disinda bulundugu durumda kullanilir
(--rsync-path=/usr/local/bin/rsync gibi). uygulama kabuk
tarafindan calistirilacagindan herhengi bir uygulama, betik ya
da bir dizi komut olabilir. Bir dizi komut belirtiyorsaniz
rsync'in iletisimde kullanacagi standart girdi ve standart
ciktinin devredisi kalmamasina dikkat etmelisiniz.
Asagidaki ornekte uzak makinede --relative secenegi ile
kullanmak icin farkli bir ontanimli yol belirtilmektedir:
rsync -avR --rsync-path="cd /a/b && rsync" makine:c/d /e/
-C, --cvs-exclude
Sistemler arasinda aktarimi istenmeyen genis bir dosya kumesinin
dislanmasi icin bir kisayol olarak kullanislidir. CVS'nin
yoksayilacak dosyalari saptamakta kullandigi algoritma
kullanilir.
Dislanan dosyalarin listesi soyle ilklendirilmis olsun:
RCS SCCS CVS CVS.adm RCSLOG cvslog.* tags TAGS
.make.state .nse_depinfo *~ #* .#* ,* _$* *$ *.old *.bak
*.BAK *.orig *.rej .del-* *.a *.olb *.o *.obj *.so *.exe
*.Z *.elc *.ln core .svn/
$HOME/.cvsignore icindeki dosyalarla CVSIGNORE ortam
degiskeninde (tum isimler bir boslukla ayrilarak belirtilir)
listelenen her dosya bu listeye eklenecektir.
Son olarak, .cvsignore dosyasi ile ayni dizindeki dosyalardan
.cvsignore dosyasinda listelenmis kaliplarla eslesen dosyalar
yok sayilir. rsync'in suzme ve dislama uyguladigi dosyalarin
aksine bu kaliplar bosluklarla ayrilir. Daha fazla bilgi icin
cvs(1) kilavuz sayfasina bakiniz.
Bu secenegi kendi --filter kurallarinizla birlikte
belirtirseniz, -C seceneginin komut satirinin neresinde olduguna
bakilmaksizin, CVS dislananlarinin sizin kurallarinizin sonuna
eklenecegini unutmayin. Bu, onlara sizin belirttiginiz kurallara
gore daha dusuk oncelik verir. CVS dislananlarinin suzme
kurallariniz arasindaki yerini kendiniz belirlemek isterseniz,
komut satiri secenegi olarak -C belirtmek yerine --filter=:C ve
--filter=-C seceneklerini belirtmelisiniz (bu sekilde komut
satirinda belirtebileceginiz gibi bir suzme dosyasina ":C" ve
"-C" kurallarini yerlestirerek de belirtebilirsiniz). Ilk kural
her dizinde .cvsignore dosyalarina bakilmasini, ikinci kural ise
yukarida bahsedilen CVS dislananlarini bir seferligine dahil
edilmesini saglar.
-f, --filter=kural
Bu secenek aktarilacak dosyalar listesinden belli dosyalarin
secilerek dislanmasi icin kurallar eklemenizi mumkun kilar. Bu
secenek alt dizinlerin ardisik aktarildigi aktarimlarda
kullanildiginda cok yararlidir.
Dislanacak dosyalarin listesini olusturmak icim komut satirinda
cok sayida --filter secenegi belirtebilirsiniz.
Bu secenek hakkinda daha ayrintili bilgi icin S"UZME KURALLARI
bolumune bakiniz.
-F Bu secenek iki defa belirtildiginde komuta iki --filter kurali
eklemeye esdegerdir. Ilk secenek su kurali ekler:
--filter=': /.rsync-filter'
Bu kural, rsync'in dizin hiyerarsisi dahilinde serpistirilmis
.rsync-filter dosyalarina bakmasini ve aktarimda bu dosyalardaki
suzme kurallarini kullanmasini saglar. -F secenegi ikinci kez
kullanilmissa su kurali uygular:
--filter='- .rsync-filter'
Bu kural .rsync-filter dosyalarinin aktarilmamasini saglar.
Bu secenek hakkinda daha ayrintili bilgi icin S"UZME KURALLARI
bolumune bakiniz.
--exclude=kalip
Bu secenek bir dislama kurali tanimlanmasini saglayan --filter
seceneginin basitlestirilmis bir bicimidir. Secenek, normal
suzme kurallarinin kural cozumleme sozdizimine izin vermez.
Bu secenek hakkinda daha ayrintili bilgi icin S"UZME KURALLARI
bolumune bakiniz.
--exclude-from=dosya
Bu secenek, dislama kurallarinin belirtilen dosyadan alinmasini
saglamasi disinda --exclude seceneginin benzeridir. dosya
icindeki bos satirlar ile ';' veya '#' ile baslayan satirlar
yoksayilir. dosya olarak - belirtilmisse girdiler standart
girdiden okunur.
--include=kalip
Bu secenek bir icerme kurali tanimlanmasini saglayan --filter
seceneginin basitlestirilmis bir bicimidir. Secenek, normal
suzme kurallarinin kural cozumleme sozdizimine izin vermez.
Bu secenek hakkinda daha ayrintili bilgi icin S"UZME KURALLARI
bolumune bakiniz.
--include-from=dosya
Bu secenek, icerme kurallarinin belirtilen dosyadan alinmasini
saglar. dosya olarak - belirtilmisse girdiler standart girdiden
okunur.
--files-from=dosya
Bu secenegi kullanarak aktarilacak dosyalarin tam listesini
belirtebilirsiniz. Liste dosya'dan ya da "-" belirtilmisse
standart girdiden okunur. Ayrica, bu secenekle birlikte
ontanimli uygulanan seceneklere bagli olarak rsync'in ontanimli
davranisini kolayca degistirebilirsiniz:
o --relative (-R) secenegi uygulanarak dosya icindeki her
ogede belirtilen yol bilgisi korunmustur (bu davranisi
kapatmak icin --no-relative secenegini kullanin).
o --dirs (-d) secenegi uygulanarak listede belirtilen
dizinlerin atlanmayip, hedefte olusturulmasi saglanmistir.
o --archive (-a) secenegi uygulanmasina ragmen bu secenegin
uygulamalarindan biri olan --recursive (-r) secenegi
uygulanmadigindan, bu davranisin uygulanmasini istiyorsaniz
--recursive (-r) secenegini ayrica belirtmelisiniz.
dosya'dan okunan dosya isimlerinin hepsi kaynak dizine gore
degerlendirilir -- ogelerin basindaki "/"lar ile daha ust
dizinlere cikilmasini saglayan "../"lar kaldirilir. Ornek:
rsync -a --files-from=/tmp/foo /usr uzak:/yedek
/tmp/foo icinde "bin" (hatta "/bin") diye bir girdi varsa,
/usr/bin dizini hedefte /yedek/bin dizini olarak olusturulur
(ancak, dosya icinde dosyalar acikca listelenmemisse ya da komut
satirinda -r secenegi yoksa /usr/bin dizinindeki dosyalar
aktarilmaz). Ayrica, --relative seceneginin etkisini (ontanimli
olarak etkindir) sadece dosyadan okunan yol bilgisini yinelemek
icin saklar ancak, kaynak icin belirtilmis yolun yinelenmesine
zorlamaz (ornekte /usr).
Ek olarak, eger dosya'yi "uzak:" oneki ile belirtirseniz, bu
dosya yerel makineden degil, uzak makineden okunur (uzak: ile
belirtilen makine, aktarimin yapildigi makine olmalidir). Bir
kisaltma olarak, "aktarimin yapildigi uzak makine" anlaminda
sadece ":" onekini de kullanabilirsiniz. Ornek:
rsync -a --files-from=:/yol/dosya-listesi uzak:/ /tmp/kopya
Bu komut "uzak" makinesindeki /yol/dosya-listesi dosyasinda
listelenmis dosyalari kopyalayacaktir.
-0, --from0
Bu secenek rsync'e, bir dosyadan okunan dosya isimlerinin
sonlandirilmasinin satirsonu karakteri (LF) veya satirbasi
karakteri (CR) ya da her bu ikisinin birlikte kullanilmasiyla
(CR+LF) degil sadece bos karakterle ('\0') yapildigini belirtir.
Bu secenek --exclude-from, --include-from, --files-from ve bir
--filter kurali ile belirtilen dosyalari etkiler. Dosya
isimlerinin bosluk ile ayrildigi .cvsignore dosyalarini kullanan
--cvs-exclude secenegini etkilemez.
-T, --temp-dir=dizin
Bu secenekle, dosyalar aktarilirken alici tarafta gecici olarak
olusturulan dosyalarin nereye konulacagini belirtmek icin
kullanilir. Ontanimli davranis, gecici dosyalarin alici dizinde
olusturulmasidir.
-y, --fuzzy
Bu secenekle, hedefte bulunmayan bir dosya icin benzer bir dosya
aranacagini belirtilir. Simdiki algoritma, hedef dosya icin ayni
dizinde, ayni boyda ve ayni degisiklik zamanli ya da ayni isimli
bir dosya arar. Boyle bir dosya varsa, bu dosya bulanik bir
hedef dosya olarak aktarimin hizlandirilmasi amaciyla
kullanilir.
Bilgi: --delete secenegi bu amacla kullanilabilecek bir dosyanin
islem oncesinde silinmesine yol acabileceginden, bunun
yerine ya --delete-after secenegini kullanin ya da
dosyanin silme islemine konu olmayacak sekilde olmasina
dikkat edin.
--compare-dest=dizin
Bu secenekle, alici makinede hedef dizinde olmayan dosyalar icin
karsilastirmanin dizin dizinine gore yapilacagi belirtilir. Eger
dizin icinde gondericinin dosyasinin aynisi varsa bu dosya
aktarilmaz. Bu, sadece bir onceki yedeklemeden beri degismis
dosyalarin yedeklenmesi icin kullanislidir.
2.6.4 surumunden baslayarak, cok sayida --compare-dest dizini
belirtilebilmektedir. Eger hedefte bir eslesme bulunamazsa,
dosya bu dizinlerde aranir.
Eger dizin goreli bir dizin olarak belirtilmisse bu dizinin
hedef dizinde oldugu kabul edilir. Ayrica --link-dest secenegine
de bakiniz.
--link-dest=dizin
Bu secenek, dizin icindeki degismemis dosyalarin hedef dizine
sabit bagli yapilmasi disinda --compare-dest secenegi gibi
davranir. Sabit bagli yapilacak dosyalar oznitelikleri (izinler,
sahipler, v.s) bakimindan kaynaktakilerle tamamen ayni
olmalidir. Ornek:
rsync -av --link-dest=$PWD/oncu-dizin \
makine:kaynak-dzn/ yeni-dzn/
2.6.4 surumunden baslayarak, cok sayida --link-dest dizini
belirtilebilmektedir. Eger hedefte bir eslesme bulunamazsa,
dosya bu dizinlerde aranir.
Eger dizin goreli bir dizin olarak belirtilmisse bu dizinin
hedef dizinde oldugu kabul edilir. Ayrica --compare-dest
secenegine de bakiniz.
Bilgi: 2.6.1 surumunden onceki surumlerde, -o secenegi (-a
secenegi de bu secenegi uygular) belirtilmisse,
--link-dest secenegi root olmayan bir kullanici icin
istendigi gibi calismayacaktir (yazilim hatasi). Bu
hatadan korunmak icin boyle bir rsync ile -o secenegini
kullanmamalisiniz.
-z, --compress
Bu secenekle hedef makineye gonderilen dosyalarin verilerini
rsync, aktarim miktarini azaltmak icin sikistiracaktir.
Ozellikle, yavas baglantilar icin cok yararlidir.
Bilgi: Hedef makinede sikistirma icin ayni araclar
kullaniliyorsa, sikistirilmis veri sikistirma ile ilgili
dolayli bilgileri icermeyeceginden aktarimda daha iyi
sikistirma yapilabilmektedir.
--numeric-ids
Bu secenekle rsync, her iki ucta kullanici ve grup isimlerini
degil, kullanici ve grup kimliklerini eslestirmeye calisacaktir.
Ontanimli olarak rsync, dosyalarin sahibini belirlemekte
kullanici ve grup isimlerini kullanir. Ozel kullanici ve grup
kimligi olan 0 kimligi, bu secenek belirtilmemis olsa bile,
kullanici ve grup isimleriyle asla eslestirilmez.
Eger kullanici ve grup isimleri her iki ucta eslesmiyorsa,
bunlarin yerine kaynak sistemdeki kullanici ve grup kimlikleri
kullanilir. chroot ayarlarinin rsync'in kullanici ve grup
isimlerini arama yeteneklerini nasil etkiledigini ve bunlari
nasil degistirebileceginizi ogrenmek icin rsyncd.conf(5) kilavuz
sayfasindaki use chroot modul seceneginin aciklamasina bakiniz.
--timeout=s"ure
Bu secenekle G/C zamanasimini saniye cinsinden
belirtebilirsiniz. Belirtilen sure icinde bir aktarim
gerceklesmezse, rsync islemi sonlandiracaktir. Ontanimli deger,
bir zamanasimi olmadigini belirten 0 degeridir.
--port=port
Ontanimli 873. port yerine kullanilacak portu belirtmek icin
kullanilir. URL sozdizimi port belirtmek icin zaten bir yontem
icerdiginden, bu sadece bir rsync sunucusuna "::" kullanarak
baglaniyorsaniz gerekir. Bu secenegin SUNUCU SE,CENEKLERI
bolumundeki aciklamasina da bakiniz.
blocking-io
Uzak kabuk aktarimi baslatilirken engellenebilen G/C
kullanilmasini belirtir. Uzak kabuk rsh veya remsh ise, rsync
ontanimli olarak engellenebilen G/C, aksi takdirde
engellenemeyen G/C kullanir (ssh ile engellenemeyen G/C tercih
edilir).
no-blocking-io
Ontanimli olarak engellenebilen G/C kullaniliyorsa, bunu
kapatir.
-i, --itemize-changes
Her dosyanin oznitelik degisikliklerini de icererek yapilmis
degisikliklerin dosyalara gore tasnif edilmis bir listesini
ister. Bu, --log-format='%i %n%L' belirtmekle aynidir.
"%i" belirtimi 9 karakter uzunlukta sifresel bir ciktiya
sahiptir. Genel bicimi UXcstpoga dizgesine benzer. Burada U
karakteri yapilan guncellemenin cesidini, X karakteri dosya
turunu diger karakterler ise guncellenmislerse oznitelikleri
belirten bir karakterle degistirilir.
U karakterinin yerini alan guncelleme turleri sunlardir:
o < karakteri yerel makineye aktarilan (alinan) bir dosyayi
belirtir.
o > karakteri yerel makineye aktarilan (gonderilen) bir dosyayi
belirtir.
o c karakteri yerel makinede degistirilen/olusturulan bir
dosyayi belirtir (bir dizin ya da sembolik bagin
olusturulmasi gibi).
o h karakteri baska bir ogeye sabit bag olan bir ogeyi belirtir
(--hard-links gerektirir).
o . (nokta) karakteri sadece oznitelikleri degismis bir dosya
belirtir.
o = karakteri ogenin iki ucta da ayni oldugunu belirtir (bu
sadece ve sadece yuksek bir ayrinti seviyesinde ciktilanir).
X karakterinin yerini alan dosya turleri sunlardir: bir dosya
icin f, bir dizin icin d, bir sembolik bag icin L ve bir aygit
icin D.
UXcstpoga dizgesinin diger harfleri, gercek karakterler olup,
ogenin ilgili oznitelikleri guncellenmisse ciktilanirlar, aksi
takdirde "." ile degistirilirler. Bunun uc istisnasi vardir:
1. yeni olusturulmus bir oge icin her harf bir "+" ile
degistirilir.
2. Iki uctada ayni olan ogelerde her harf bir boslukla
degistirilir.
3. Bilinmeyen her oznitelik bir "?" ile degistirilir (bu, daha
eski bir rsync ile konusurken ortaya cikar).
Harflerin belirttigi oznitelikler sunlardir:
o c dosyanin saglama toplamlarinin farkli oldugunu ve dosyanin
aktarimla guncellenecegini belirtir (--checksum gerektirir).
o s dosyanin boyutlarinin farkli oldugunu ve dosyanin aktarimla
guncellenecegini belirtir
o t degisklik zamanlarinin farkli oldugunu ve sunucudaki deger
ile guncellenecegini belirtir (--times gerektirir). Bazan bu
karakterin yerine T kullanilir ve zamanin aktarim zamanina
ayarlanacagini belirtir. T harfi, bir bir dosya ya da dizin
--times secenegi belirtilmeksizin aktarilirken ya da bir
sembolik bag aktarilirken ciktilanir.
o p izinlerin farkli oldugunu ve sunucudaki deger ile
guncellenecegini belirtir (--perms gerektirir).
o o sahiplerin farkli oldugunu ve sunucudaki deger ile
guncellenecegini belirtir (--owner ve root yetkileri
gerektirir).
o g gruplarin farkli oldugunu ve sunucudaki deger ile
guncellenecegini belirtir (--group ve grup yetkileri
gerektirir).
o a harfi gelecekte ACL'ler gibi genisletilmis dosya
ozniteliklerini desteklemek uzere yedek olarak ayrilmistir.
Olasi diger bir cikti daha vardir: dosyalar silinirken silinecek
her oge icin "%i" belirtimi "deleting" dizgesini ciktilar
(yeterince son surum bir rsync ile konusuldugu ve bunun silme
islemlerini bir ayrinti olarak ciktilamayip gunluk kaydi tuttugu
varsayimiyla).
--log-format=bi,cim
Islenen her dosya icin kullaniciya rsync istemcisinin nasil bir
cikti gosterecegini belirlemenizi saglar. bi,cim her biri %
karakteri ile oncelenmis tek karakterli belirtimlerden olusan
bir dizgedir. Olasi belirtimlerin listesi icin rsyncd.conf(5)
kilavuz sayfasindaki log format seceneginin aciklamasina
bakiniz. (--log-format secenegi bir sunucunun gunluk kaydinda ne
ciktilayacagini belirlemez.)
bi,cim dizgesinde --itemized-changes belirtimi (%i)
kullanilmamissa, belli bir yolla (bir dosyanin aktarilmasi, bir
sembolik bag veya aygitin yeniden olusturulmasi, bir dizine
dokunulmasi) guncellenen her dosya icin cikti uretilecektir,
aksi takdirde, ciktilama herhangi bir yolla guncellenen her
ogeye genisletilir (alici tarafin surumu en azindan 2.6.4 ise).
"%i" belirtiminin ciktisi ile ilgili ayrintilar icin
--itemized-changes seceneginin aciklamasina bakiniz.
--verbose secenegi "%n%L" biciminin uygulanmasini saglar.
--log-format secenegini isterseniz, -v (--verbose) secenegini
belirtmeksizin kullanabileceginiz gibi bu secenegi de kullanarak
her dosya icin bu bicimdeki bir ciktinin uretimesini de
saglayabilirsiniz.
Gunluklemenin aktarimin sonunda yapilmasini saglayan aktarim
istatistigi belirtimlerinden biri belirtilmedikce rsync, gunluk
bicimi dizgesini bir dosyanin aktarimindan once ciktilayacaktir.
Bu gec gunlukleme etkin oldugunda ve ayrica --progress
belirtilmisse rsync ayrica aktarilan dosyanin ismini islem
bilgisinden once (suphesiz, --log-format ciktisindan sonra)
ciktilayacaktir.
--stats
Bu secenek rsync'e, rsync algoritmasinin verileriniz icin ne
kadar verimli oldugunu gormenizi saglayacak dosya aktarim
istatitiklerini ayrintili olarak basmasini soyler.
--partial
Aktarim kesintiye ugramissa, ontanimli olarak rsync, aktarimi
yarim kalmis dosyayi silecektir. Bazi durumlarda kismen
aktarilmis dosyalari silinmemesi istenebilir. Aktarimin bir
sonraki baglantida tamamlanmasini hizlandirmak uzere kismen
aktarilmis dosyalarin silinmemesi icin bu secenegi
kullanabilirsiniz.
--partial-dir=dizin
Aktarimi yarim kalmis dosyalarin silinmesini onlemenin daha iyi
bir yolu bu tur dosyalar icin ayri bir dizin belirtmektir.
Sonraki aktarimda, rsync bu dosyanin aktarimini tamamlamak icin
belirtilen dizin icindeki dosyayi kullanacak ve dosyanin
aktarimi tamamlandiktan sonra bu dosyayi silecektir. Yalniz,
eger --whole-file belirtilmisse (ya da dolayli uygulaniyorsa),
rsync arttirimli algoritmayi kullanmaksizin dosyalari
gondereceginden, dizin icinde tamamlanmayi bekleyen bir dosya
bulunursa basitce silinecektir.
Eger dizin mevcut degilse, rsync dizin'i olusturacaktir (sadece
son dizin, yolun tamami degil). Bu davranisin sonucu olarak,
hedef dosyanin bir dizin olusturmayi gerektirdigi durumlarda
goreli yol belirtmek (--partial-dir=.rsync-partial gibi) daha
iyidir, bu takdirde eksik dosya islem sonunda silindiginde bu
dizin de silinir.
Eger dizin ile mutlak bir yol belirtilmemisse, mevcut
dislamalarinizin sonunda rsync ayrica --exclude degeri olarak
bir dizin ekleyecektir. Boylece dizin icindeki dosyalarin
aktarimi ve ayrica alici tarafta bu dosyalarin zamanindan once
silinmesi engellenecektir. Bir ornek: yukaridaki --partial-dir
secenegi diger suzme kurallarinin sonuna bir
"--exclude=.rsync-partial/" kurali ekleyecektir. Eger kendiniz
bir takim suzme kurallari kullaniyorsaniz, bu kuralin daha
yuksek oncelik almasi icin kendi kurallariniz icinde uygun bir
yerde belirtebilirsiniz (kurallarinizin sonunda bir
--exclude='*' kurali varsa, ozdevimli eklenen bir kural hicbir
zaman erisilebilir olmayacaktir).
"Onemli:
--partial-dir ile belirtilen dizine diger kullanicilar
yazamamalidir, aksi takdirde bu bir guvenlik acigi
olusturur. Yani "/tmp" gibi bir dizin belirtmekten
KACININ.
Ayrica dizin degerini RSYNC_PARTIAL_DIR ortam degiskeninde
belirtebilirsiniz. Bu degiskene bir degerin atanmis olmasi
--partial seceneginin etkin olmasini saglamaz ama komut
satirinda --partial secenegini belirtmekle --partial-dir
secenegine dizin belirtilmis gibi islem yapilmasi saglanir.
Ornegin, --partial-dir=.rsync-tmp ile --progress secenegini
birlikte kullanmak yerine, kabukta RSYNC_PARTIAL_DIR=.rsync-tmp
seklinde bir atama yaptiginizi ve .rsync-tmp dizinini eksik
kalan aktarimi tamamlamak icin komut satirinda sadece -P
secenegini belirterek kullandiginizi varsayalim. --partial
seceneginin bu ortam degiskenine bakmadigi durumlar, (1)
--inplace seceneginin belirtilmis olmasi (--inplace secenegi
--partial-dir ile celistiginden), (2) --delay-updates
seceneginin belirtilmis olmasidir (asagiya bakiniz).
Sunucu yapilandirmasinin refuse options ayari, amaci geregi
--partial-dir seceneginin --partial secenegini uygulamamasina
sebep olur. Bu, yani, --partial seceneginin reddedilmesi,
--partial-dir tarafindan saglanan daha guvenilir usluba hala
izin veriyor olmakla, aktarimi yarim kalmis hedef dosyalarin
tekrar yazilmasina izin vermemekte kullanilabilir.
--delay-updates
Bu secenek, guncellenen her dosyayi aktarimin sonunda isimleri
degistirilmek suretiyle yerine tasinmak uzere bir dizin icinde
gecici bir dosyaya koyar. Bu dosyalarin guncellenmesini daha
atomik yapmayi amaclar. Ontanimli olarak bu dosyalar her
dosyanin hedef dizini icindeki ".~tmp~" isimli bir dizine konur,
fakat bu davranisi --partial-dir secenegini belirterek
degistirebilirsiniz. Bu secenek --inplace secenegi ile celisir.
Bilgi: Bu secenege ozel olarak, --partial-dir yerine
RSYNC_PARTIAL_DIR ile --partial belirtmek
RSYNC_PARTIAL_DIR degerinin kullanilmasini saglamaz.
Ayrica, sunucu yapilandirmasinin refuse options ayari,
amaci geregi --partial-dir secenegine ozel uygulamalar da
yapilmaz.
Bu secenek alici tarafta biraz daha fazla bellek kullanimina
(aktarilan dosya basina bir bit) ve guncellenen tum dosyalari
tutacak kadar bos disk alanina gereksinim duyar. Ayrica, yol
mutlak oldugunda guncellenen dosyalarin hepsi tek bir dizine
konulacagindan, aktarimda dosyalarin herhangi birinin ayni
isimde olma olasiliginin olmamasi durumu disinda, --partial-dir
ile mutlak dosya yolu belirtmemelisiniz.
Ayrica, cok daha atomik bir guncelleme algortimasi iceren, rsync
paketinin "support" alt dizinindeki "atomic-rsync" perl betigine
de bakin (--link-dest secenegini ve dosyalar icin paralel bir
hiyerarsi kullanir).
--progress
Aktarimin gelisimini gosteren cikti uretilmesini saglar. Bu,
bezgin kullaniciya bazi seyleri kollayabilme imkani verir.
Acikca belirtilmemisse, --verbose secenegini de uygulanir.
Bir dosya aktarilirken, uretilen cikti soyle gorunur:
782448 63% 110.64kB/s 0:00:04
Bu cikti kullaniciya o anki dosya boyunu, aktarilmis verinin
yuzdesini (hattaki veri ile aktarilmis verinin toplami olarak),
aktarim hizini ve aktarimin tamamlanmasi icin gerekli kalan
sureyi gosterir.
Bir dosya aktarildiktan sonra, uretilen cikti soyle gorunur:
1238099 100% 146.38kB/s 0:00:08 (5, 57.1% of 396)
Bu cikti kullaniciya aktarimi biten dosyanin son boyutunu,
aktarimin %100 tamamlandigini, dosyanin son aktarim hizini,
dosyanin aktarimi icin kullanilan sureyi ve ek olarak toplam
aktarimin boyut ve adet olarak ne kadarinin tamamlandigini
parantez icinde gosterir.
-P --partial --progress secenkleri icin kisayoldur. Amaci,
kesintiye ugramasi muhtemel uzun bir aktarim icin bu iki
secenegin birlikte belirtilmesini kolaylastirmaktir.
--password-file=dosya
Uzak rsync sunucusuna erisim icin parola iceren bir dosya
belirtebilmeyi saglar. Bu secenek, aktarim icin bir uzak kabuk
kullanildiginda degil, sadece yerlesik aktarim kullanarak bir
rsync sunucusuna erisirken yararlidir. Dosya herkesce okunabilir
olmamali ve icinde parolayi icerek tek bir satir bulunmalidir.
--list-only
Bu secenek dosyalarin aktarilmasina degil, kaynak dosyalarin
listelenmesine sebep olur. Bu secenek, eger bir hedef
belirtilmezse calisir, dolayisiyla dogrudan kullanmaya ihtiyac
duymazsiniz. Ancak, alt dizinlere inilmeyen bir liste uretmek
icin tecrubeli bir kullanicinin -r --exclude='/*/*'
seceneklerini kullanmaktan kacinabilmesi icin bir kolaylik
saglar.
--bwlimit=kbps
Azami aktarim hizinin kB/s cinsinden belirtilebilmesini saglar.
rsync'i cok buyuk dosyalari (MB'larca) aktarmak icin kullanirken
oldukca verimlidir. rsync aktarimlarinin dogasi geregi, veri
bloklar halinde gonderilir, eger rsync aktarimin oldukca hizli
oldugunu saptarsa, sonraki bloku gondermeden once bekler.
Sonucta, aktarim hizinin ortalamasi belirtilen hiza esit olur.
Sifir degeri bir sinirlama olmadigi anlamina gelir.
--write-batch=dosya
Ayni hedefe yapilacak esdeger bir cagri icin --read-batch
secenegi ile kullanilmak uzere bir dosya olusturur. Ayrintilar
icin BETIK KIPI bolumune bakiniz.
--read-batch=dosya
Evvelce --write-batch ile olusturulan dosya icindekileri
uygular. Eger dosya olarak "-" belirtilirse betik verisi
standart girdiden okunur. Ayrintilar icin BETIK KIPI bolumune
bakiniz.
-4, --ipv4, --6, --ipv6
rsync'e soketleri olustururken IPv4/IPv6 tercih etmesini soyler.
Bu sadece rsync'in dogrudan kendi denetimi altindaki soketleri
etkiler. Ayrica, bu seceneklerin SUNUCU SE,CENEKLERI bolumundeki
aciklamasina da bakiniz.
--checksum-seed=tamsayi
MD4 saglama toplami tohumunun tamsayi olarak belirtilebilmesini
saglar. Bu 4 baytlik tohum her blok ve dosyanin MD4 saglama
hesaplamasinda kullanilir. Ontanimli olarak bu tohum o anki
zaman degeri olarak sunucu tarafindan uretilir. Bu secenek,
yinelenebilir blok ve dosya saglamalari isteyen uygulamalar icin
ya da kullanicinin daha bir rasgele tohum kullanmak istedigi
yerlerde kullanislidir. tamsayi olarak sifir degeri verilirse
ontanimli tohum kullanilacaktir.
SUNUCU SE,CENEKLERI
Bir rsync sunucu baslatilirken kullanilan secenekler:
--daemon
Bu secenek rsync'in artalanda calisacagini belirtir.
Baslattiginiz sunucuya bir rsync istemcisi makine::modul veya
rsync://makine/modul/ sozdizimini kullanarak erisebilir.
Eger standart girdi bir soket ise, rsync, inetd uzerinden
calistigini varsayacaktir, aksi takdirde, ucbirimini birakip bir
artalan sureci haline gelecektir. rsync istemcileri tarafindan
yapilan her baglanti isteginde surec, yapilandirma dosyasini
(rsyncd.conf) okuduktan sonra istege yanit verecektir. Daha
fazla bilgi icin rsyncd.conf(5) kilavuz sayfasina bakiniz.
--address=adres
Ontanimli olarak rsync, --daemon secenegi ile baslatildiginda ya
da bir rsync sunucuya baglanirken bir sablon adres kullanir. Bu
secenekle kullanilacak adres olarak belli bir IP adresi (veya
konakismi) belirtebilirsiniz. Bu --config secenegi ile birlikte
kullanilarak sanal adresleme yapabilmeyi mumkun kilar. Ayrica,
rsyncd.conf(5) kilavuz sayfasindaki address seceneginin
aciklamasina da bakiniz.
--bwlimit=kbps
Sunucu surecinin gonderdigi veri icin kilobayt/s cinsinden azami
aktarim hizini belirtmek icin kullanilir. Istemci bu durumda
bile bir --bwlimit degeri belirtebilir, ancak bu istemci
taraftaki band genisligini daraltmak icin yapilabilir. Eger
sunucunun belirttigi hiz bu yolla asilmak istenirse deger
asagiya, sunucunu hizina yuvarlanir. Bazi ek ayrintilar icin bu
secenegin istemci seceneklerindeki aciklamasina da bakiniz.
--config=dosya
Ontanimli yapilandirma dosyasinda farkli bir yapilandirma
dosyasi belirtmek icin kullanilir. Sunucu sureci root disinda
bir uzak kullanici tarafindan, bir uzak kabuk uygulamasi
uzerinden calistiriliyorsa ontanimli yapilandirma dosyasi
calisma dizinindeki (genellikle $HOME) rsyncd.conf dosyasi, aksi
takdirde /etc/rsyncd.conf'dur.
--no-detach
Bir sunucu olarak calismada rsync'in ucbirimini birakip bir
artalan sureci haline gelmesini engeller. Bu secenek, rsync,
Cygwin uzerinde bir hizmet olarak calistirilirken gereklidir.
Ayrica, daemontools ya da AIX'in Sistem Ozkaynak Denetcisi gibi
bir uygulama tarafindan yonetildiginde yararlidir. Secenegin
ayrica, rsync bir hata ayiklayici altinda calistirilirken de
kullanilmasi tavsiye edilir. Bu secenek, rsync, inetd veya sshd
uzerinden calisiyorsa etkisizdir.
--port=port
Sunucu tarafindan ontanimli olarak kullanilan 873. port yerine
baska bir port belirtmek icin kullanilir. Ayrica rsyncd.conf(5)
kilavuz sayfasindaki port seceneginin aciklamasina da bakiniz.
-v, --verbose
Sunucu surecinin baslatilmasi sirasinda gunluk bilgilerinin
miktarini arttirmak icin kullanilir. Sunucunun, istemci
baglandiktan sonraki ayrinti seviyesi istemci tarafindan
kullanilan seceneklerle ve modulun yapilandirma bolumundeki max
verbosity degeriyle denetlenir.
-4, --ipv4, --6, --ipv6
rsync sunucusunun baglantilari dinleyecegi soketleri
olustururken IPv4/IPv6 tercih etmesini saglarlar. Cekirdekteki
bir yazilim hatasi nedeniyle Linux'un eski surumlerinde bu
seceneklerden biri gerekli olabilir (port kullanilacagi zaman
bir "adres zaten kullanimda" hatasi aliyorsaniz, rsync
sunucusunu baslatirken --ipv6 veya --ipv4 belirtmeyi deneyin).
-h, --help
--daemon seceneginden sonra belirtilirse, rsync sunucusu
baslatilirken kullanilabilecek secenekleri kisaca aciklayan bir
yardim sayfasi basar.
S"UZME KURALLARI
Suzme kurallari hangi dosyalarin aktarilacagini (icerilecegini -
include), hangi dosyalarin atlanacagini (dislanacagini - exclude)
secmek icin esnek bir yontem saglar. Kurallar ya dogrudan
include/exclude secenekleri ile ya da daha hassas icerme/dislama
kaliplari ile (bir dosyadan okuyarak) belirtilebilir.
rsync, aktarilacak dosya/dizinlerin listesindeki her isim icin ayri
ayri icerme/dislama kurallarini tarar ve ilk eslesen kalibi uygular:
bir dislama kalibiyla eslesen dosya atlanir; bir icerme kalibi ile
eslesen dosya atlanmaz; eslesen bir kalip yoksa dosya atlanmaz.
rsync, komut satirinda belirtilen include/exclude seceneklerinden
sirali bir suzme kurallari listesi olusturur. Suzme kurallarinin
sozdizimi soyledir:
kural [kalip_veya_dosyaismi]
kural,belirte,c [kalip_veya_dosyaismi]
kural ismi olarak, asagida aciklanan kisa ya da uzun kural isimlerinden
birini kullanabilirsiniz. Eger kisa isimli bir kural kullanirsaniz,
istege bagli olan belirte,c'ten kurali bir ',' ile ayirin. kalip veya
dosyaismi'ni (varsa) bir bosluk veya altcizgiden sonra yazmalisiniz.
Kullanilabilecek kural onekleri:
uzun kisa aciklama
--------------------------
exclude - dislama kalibi belirtir
include + icerme kalibi belirtir.
merge . ek kurallari okumak icin katistirilacak dosya,
dir-merge : bir dizin ici katistirma dosyasi belirtir.
hide H aktarimdan gizlenecek dosyalar icin kalip.
show S aktarimdan gizlenmeyecek dosyalar icin kalip.
protect P silinmekten koruncak dosyalar icin kalip.
risk R silinmekten korunmayacacak dosyalar icin kalip.
clear ! o anki include/exclude listesini temizler (argumansiz)
Kurallar bir dosyadan okundugunda, "#" ile baslayan aciklama satirlari
ile bos satirlar yoksayilir.
--include ve --exclude komut satiri secenekleri yukaridaki kural
sozdizimini degil, sadece kaliplarla ek olarak listeyi temizleyen unlem
(!) imini (ve kaliplar bir dosyadan okunuyorsa bos ve aciklama
satirlarini) kabul ederler. Bir include secenegi icin, bir kalip "- "
(tire ve bosluk) veya "+ " (arti ve bosluk) ile baslamiyorsa, kural bir
"+ " olarak degerlendirilir. Bir --exclude secenegi icin bir kalip bir
"- " ile baslamalidir.
Bir --filter secenegi ise kuralin baslangicinda daima bir uzun ya da
kisa kural ismi icermelidir.
Ayrica, --filter, --include ve --exclude secenekleri tek bir
kalip/kural alabilir. Cok sayida kalip/kural eklemek icin komut
satirinda bu secenekleri tekrarlayabilir veya --filter, --include-from
ve --exclude-from seceneklerinin dosya katistirma sozdizimini
kullanabilirsiniz.
I,cerme/Di,slama Kaliplari
Yukarida S"UZME KURALLARI bolumunde bahsedildigi gibi dosyalari "+", "-"
gibi kaliplari kullanarak aktarabilir ya da atlayabilirsiniz. Icerme ve
dislama kurallarinin herbirinde aktarilacak dosyalarin isimleriyle
eslesen kaliplar belirtilir. Bu kaliplar cesitli bicimler alabilir:
o Eger kalip bir / ile basliyorsa, dosya hiyerarsisi icinde belli bir
noktaya demirlenir, aksi takdirde yol isminin sonuna eslenir. Bu
duzenli ifadelerde kalibi ^ ile baslatmaya benzer. Ornegin, "/foo"
kalibi ya "aktarimin koku"ndeki (genel bir kural icin) ya da
katistirilan dosyanin dizinindeki (dir-merge kurali icin) "foo"
isimli bir dosya ile eslesirdi. Nitelenmemis bir "foo" ise, agacin
herhangi bir yerindeki "foo" isimli bir dosya veya dizin ismi ile
eslesirdi, cunku algoritma kokten uca dogru alt dizinlere inilerek
uygulanir; yani, her yol elemani sonunda dosya ismi olacak bir
sirada ele alinir. "sub/foo" ise hiyerarsinin herhangi bir
noktasindaki "sub" isimli bir dizin icindeki bir "foo" ile
eslesirdi. Aktarimin koku ile eslesen bir kalibin nasil
belirtileceginin ayrintili aciklamasi icin I,cerme/Di,slama
Kaliplarinin K"ok Dizinle Ili,sklendirilmesi bolumune bakiniz..
o Eger kalip bir / ile bitiyorsa, sadece bir dizinle eslesecektir, bir
dosya, bag ya da aygitla degil.
o Eger kalip *?[ dosyaismi kalip karakterlerinden birini iceriyorsa,
ifade kabugun dosyaismi eslestirme kurallari kullanilarak
eslestirilir. Aksi takdirde basit bir dizge esleme kullanilir.
o Tek yildizli bir kalip ("*") bolu cizgilerinde duracakken, cift
yildizli kalip ("**") cok sayida bolu cizgisi ile eslesecektir.
o Eger bir kalip bir / (sonda degil) ya da bir "*" iceriyorsa bastan
sona tum dizinleri dahil tam dosya yolu ile eslestirilir. Eger kalip
bir / ya da "**" icermiyorsa, sadece dosyaisminin son bileseni ile
eslestirilir (algoritmanin altdizinlere inilerek uygulandigini
hatirlayin, yani "tam dosyaismi" baslangic dizininden baslayarak son
dizine kadar yolun herhangi bir parcasi ile eslesebilir).
Suna dikkat edin, --recursive (-r) secenegini (-a ile uygulanan)
kullandiginizda, her yolun her alt bileseni yukaridan asagiya ziyaret
edilir, yani icerme/dislama kaliplari altdizinlere inilerek her alt
bilesenin tam ismine uygulanir (orn, "/foo/bar/baz" icerilirken "/foo"
ve "/foo/bar" dislanamaz). rsync gonderecegi dosyalari ararken, dislama
kaliplari aslinda dizin basamaklama asamasini kisadevre eder. Eger bir
kalip belli bir ust dizini disliyorsa, bir daha derin icerme kalibini
sonucsuz birakabilir, cunku rsync, hiyerarsinin dislanan bir bolumunden
daha derine inmez. Bu ozellikle "*" ile biten bir kural kullanirken
onem kazanir. Ornegin, bu calismayacaktir:
+ /bir/yol/bu-dosya-bulunmaz
+ /bu-dosya-bulunur
- *
Bu kural listesi, "bir" ust dizini '*' kuralindan dolayi
dislayacagindan basarisiz olur, yani rsync, "bir" ve "bir/yol"
dizinleri icindeki hicbir dosyayi ziyaret etmez. Hiyerarsideki tum
dizinleri ziyaret ettirmenin bir yolu tek bir kuralin listeye dahil
edilmesidir: "+ */" ("- *" kuralindan once herhangi bir yere
yerlestirebilirsiniz). Diger bir cozum ise ziyaret edilmesi gereken ust
dizinlerin hepsi icin belirli bir icerme kurali eklemektir. Ornegin, bu
kural kumesi dogru calisir:
+ /bir/
+ /bir/yol/
+ /bir/yol/bu-dosya-bulunur
+ /bu-dosya-da-bulunur
- *
Dislama/icerme eslestirme ornekleri:
o "- *.o" kalibi *.o ile eslesen tum dosya isimlerini dislar.
o "- /foo" kalibi aktarimin kok dizinindeki "foo" isimli bir dosyayi
dislar.
o "- foo/" kalibi "foo" isimli hehangi bir dizini dislar.
o "- /foo/*/bar" kalibi aktarimin kok dizinindeki "foo" dizininden iki
seviye asagidaki "bar" isimli dosyayi dislar.
o "- /foo/**/bar" kalibi aktarimin kok dizinindeki "foo" dizininden
iki veya daha alt seviyedeki "bar" isimli dosyayi dislar.
o "+ */", "+ *.c" ve "- *" kaliplarinin birlesimi tum dizinler ve C
kaynak dosyalari disinda herseyi dislar.
o "+ foo/", "+ foo/bar.c" ve "- *" kaliplarinin birlesimi sadece
"foo" dizinini ve "foo/bar.c" dosyasini icerecektir ("foo" dizini
acikca icerilmelidir yoksa "*" tarafindan dislanirdi).
Kati,stirma Dosyasi S"uzme Kurallari
Yukarida S"UZME KURALLARI bolumunde bahsedildigi gibi dosyalari bir
merge (.) ya da bir dir-merge (:) suzme kurali belirterek suzme
kurallariniza tum dosyalari katistirablirsiniz.
Iki cesit katistirma dosyasi vardir: tek dosyalik ('.') ve dizinici
dosyalar (':'). Tek dosyalik bir katistirma dosyasi bir defa okunur ve
"." kuralindaki suzme listesi ile birlikte isleme sokulur. Dizinici
katistirma dosyasi turunde ise, rsync adim adim butun altdizinleri
tarayarak ismi belirtilen dosyayi buldukca dosya icerigini o anki kural
listesine ekler. Bu dizinici kural dosyalari aktarim alt dizinlerinde
aranmasi gerektinden gonderen tarafta olusturulmalidir. Ayrica, bu
kural dosyalarinin silinmeyecek dosyalari etkilemesi isteniyorsa, alici
tarafa aktarilmalari gerekecektir (asagida, Dizini,ci Kati,stirma
Kurallari ve Silme bolumune bakiniz).
Bazi ornekler:
merge /etc/rsync/default.rules
. /etc/rsync/default.rules
dir-merge .per-dir-filter
dir-merge,n- .non-inherited-per-dir-excludes
:n- .non-inherited-per-dir-excludes
Bir merge veya dir-merge kurali su belirtecleri kabul eder:
o Bir - belirteci, dosyaici aciklamalar haric baska bir kural
cozumleme olmaksizin, sadece dislama kaliplarindan olusan bir dosya
belirtir.
o Bir + belirteci, dosyaici aciklamalar haric baska bir kural
cozumleme olmaksizin, sadece icerme kaliplarindan olusan bir dosya
belirtir.
o Bir C belirteci, bir dosyanin CVS uyumlulugu anlaminda okunmasi
gerektigini belirtir. Bu 'n', 'w', ve '-' belirteclerini etkin
kilar, fakat ayrica, belirtilecek liste temizleme imine de (!) izin
verir. Bir dosyaismi belirtilmemisse dosya isminin ".cvsignore"
oldugu varsayilir.
o Bir e belirteci, katistirma dosyasini aktarimdan dislayacaktir;
ornegin, "dir-merge,e .rules" kurali "dir-merge .rules" ve "-
.rules" kurallari gibidir.
o Bir n belirteci, kurallarin altdizinlerde miras alinmayacagini
belirtir.
o Bir w belirteci, kurallar icin satirlara gore degil bosluklara gore
sozcuk ayirma uygulanacagini belirtir. Bu ayrica aciklamalara da
izin vermeyecektir.
Bilgi: Bir kuralin oneki olan bosluklar ozel olarak ele alinir, yani
"- foo + bar" dizgesi iki kurala ayrilacaktir (ek olarak onek
cozumlemesinin iptal edilmedigi varsayimiyla).
o Ayrica, "+" veya "-" kurali icin asagidaki belirteclerden herhangi
birini belirtebilirsiniz. Ornegin, "dir-merge,s .filt" ve ":sC"
kurallarinin herbiri sadece sunucu tarafinda uygulanacak dizinici
katistirma kurallarini olustururken, "merge,-/ .excl" kuraliyla
.excl dosyasinin icerigi mutlakyol dislamalari olarak ele alinir.
Bir "+" veya "-" kuralindan sonra kullanilabilecek belirtecler:
o Bir "/" belirteci kuralin dosya sisteminin kokune gore bir mutlak
yol olarak ele alinacagini belirtir. Ornegin, "-/ /etc/passwd"
kurali aktarim sirasinda "/etc" dizininden gonderilen dosyalardan
passwd dosyasinin dislanacagini belirtir.
o Bir "!" belirteci kuralin, kalibin eslesmediginde etkili olacagini
belirtir. Ornegin, "-! */" kurali dizin olmayan herseyi
dislayacaktir.
o Bir "C" belirteci, tum genel CVS dislama kurallarinin yerinde "-C"
dislamalari olarak yerlestirilecegini belirtmek icin kullanilir. Bir
arguman almaz.
o Bir "s" belirteci, kuralin sadece gonderen tarafta uygulanacagini
belirtir. Bir kural gonderen tarafta etkin oldugunda, dosyalarin
aktarilmasini engeller. --delete-excluded belirtilmedikce, bir
kuralin her iki tarafi da etkilemesi ontanimlidir, aksi takdirde
kuralin sadece gonderen tarafi etkilemesi ontanimlidir. Sunucu
tarafinda etkili icerme/dislama kurallari belirtmenin diger yollari
icin hide (H) ve show (S) kurallarina da bakiniz.
o Bir "C" belirteci, kuralin alici tarafa uygulanacagini belirtir. Bir
kural alici tarafta etkili oldugunda, dosyalarin silinmesini
engeller. Daha fazla bilgi icin ustteki "s" belirtecine bakiniz.
Ayrica, alici tarafta etkili icerme/dislama kurallari belirtmenin
diger yollari icin protect (P) ve risk (R) kurallarina da bakiniz.
dir-merge kurallari n belirteci kullanilmadikca katistirma dosyasinin
bulundugu her alt dizinde miras alinir. Her alt dizinin kurallari,
miras alinan kurallara gore daha yuksek oncelik almak uzere ust
dizindeki dir-merge kurallarinin basina eklenir. Birlesik kural kumesi
katistirma dosyasinin bulundugu noktalara gore gruplanir, boylece genel
kurallar listesinde evvelce belirtilmis bir kuralin dir-merge kurallari
ile degistirilmesi mumkun olur. Bir dizinici katistirma dosyasinda bir
liste temizleme kuralina rastlandiginda, sadece o katistirma dosyasinin
bulundugu noktaya kadar miras alinan kurallar temizlenir.
Bir tek dosyalik kuralin bir dir-merge dosyasindan miras alinmasini
engellemenin diger bir yolu, dosyanin basina bir / getirmektir. Bir
dizinici katistirma dosyasindaki bu tur kurallar katistirma dosyasinin
bulundugu dizine gore ele alinir, boylece bir "/foo" kalibi dir-merge
suzme kurali dosyasinin bulundugu dizindeki "foo" dosyasiyla eslesir.
--filter=". dosya" uzerinden belirteceginiz ornek suzme dosyasi:
merge /home/user/.global-filter
- *.gz
dir-merge .rules
+ *.[ch]
- *.o
Bu, bu listenin basina /home/user/.global-filter dosyasinin icerigini
ve ayrica, bunu da alt dizinde ".rules" dosyasinin sonuna ekleyecektir.
Her dizinin basinda once tum kurallar okunup ust dizinden alinan genel
kurallar buna eklenir.
Eger bir dizinici katistirma dosyasi, ilk aktarim dizininin ust dizini
olan bir dosya yolu ile belirtilmisse, rsync belirtilen dosya icin,
aktarim dizininin baslangicindan itibaren tum ust dizinleri
tarayacaktir. Ornegin, boyle bir suzgec (-F secenegine bakiniz),
--filter=': /.rsync-filter'
rsync'e .rsync-filter dosyasini kokten asagi dogru, aktarimin bir
parcasi olarak gonderilen dizinlerde dosyai normal taramaya baslamadan
once aktarimin ust dizininden itibaren tum dizinlerde aramasini soyler
(Bilgi: bir rsync sunucusu icin kok dizin daima modulun dizinidir).
Dizinici katistirma dosyalari icin bu tur ontarama ornekleri:
rsync -avF /src/path/ /dest/dir
rsync -av --filter=': ../../.rsync-filter' /src/path/ /dest/dir
rsync -av --filter=': .rsync-filter' /src/path/ /dest/dir
Ilk iki komut ".rsync-filter" dosyasini "/src/path" icinde aramaya
baslamadan once "/" ve "/src" dizinlerinde arar. Son komut ise, ust
dizin taramasindan kacinir ve ".rsync-filter" dosyasini sadece
aktarimin parcasi olan dizinlerde arar.
Bir ".cvsignore" dosyasinin icerigini kaliplariniza dahil etmek
isterseniz, ":C" kuralini kullanmalisiniz. Bu kural, .cvsignore
dosyalarini dizinici katistirma dosyalari haline getirir, fakat dosya
CVS uyumlulugu baglaminda ayristirilir. --cvs-exclude (-C) seceneginin
bulundugu yerde etkili olmasini istiyorsaniz kurallarinizin arasina bu
noktada ":C" kuralini yerlestirebilirsiniz. Bu olmaksizin, rsync
.cvsignore dosyasi icin dir-merge kuralini diger kurallarinizin sonuna
ekleyecektir (komut satiri seceneklerinizden daha dusuk bir oncelik
vererek). Ornek:
cat <<EOT | rsync -avC --filter='. -' a/ b
+ foo.o
:C
- *.old
EOT
rsync -avC --include=foo.o -f :C --exclude='*.old' a/ b
Yukaridaki rsync komutlarinin ikisi de ayni isi yapar. Her ikisi de
dizinici .cvsignore kurallarini listenin sonuna degil, ortasina
katistiracaktir. Bu, onlarin dizine ozel kurallarinin sizin
kurallarinizin tumunden daha dusuk onemde olmasi yerine :C'ye kadar
olan kurallarin yerine gecmesini mumkun kilar. Diger CVS dislama
kurallarini etkilemek icin (orn, ontanimli dislananlar listesi,
$HOME/.cvsignore dosyasinin icerigi ve $CVSIGNORE degiskeninin degeri),
-C komut satiri secenegini belirtmemeli, onun yerine kurallariniza bir
"-C" kurali yerlestirmelisiniz; orn, "--filter=-C".
Liste Temizleyen S"uzme Kurali
Yukarida S"UZME KURALLARI bolumunde bahsedildigi gibi mevcut
icerme/dislama listesini "!" suzme kuralini kullanarak
temizleyebilirsiniz. "Mevcut" liste ya genel kural listesi (kural,
suzme secenekleri cozumlenirken saptanmissa) ya da dizinici katistirma
dosyasi kurallarindan (bunlar kendi alt listelerinde miras alinirlar,
dolayisiyla ust dizinin kurallarini bu kuralla temizleyebilirsiniz)
olusur.
I,cerme/Di,slama Kaliplarinin K"ok Dizinle Ili,sklendirilmesi
Evvelce de bahsedildigi gibi, genel icerme/dislama kaliplari aktarimin
kok dizini ile iliskilendirilebilir (katistirma dosyasinin dizini ile
ilisklendirilen dizinici kaliplarinin tersine). Aktarimi, gondericiden
aliciya bir isim altagacinin gonderilmesi olarak dusunurseniz,
aktarimin kok dizini hedef dizinde yinelenecek olan agac baslangicidir.
Bu kok, bir / ile baslayan kaliplarla iliskilendirilir.
Eslesme aktarimin kokune gore yapildigindan, kaynak yolun sonundaki
bolu cizgisini degistirmek ya da --relative seceneginin kullaniminda
degisiklik yapmak eslestirmenizde kullanilmasi gereken yolu etkiler.
Asagidaki orneklerde bu davranis modellenmistir.
Biri "/home/ben/foo/bar", digeri "/home/sen/bar/baz" olan iki dosyamiz
olsun. Asagida bu iki dosyanin cesitli komut kullanimlarinda nasil
farkli aktarildiklari gosterilmistir.
Ornek komut: rsync -a /home/ben /home/sen /hedef
+/- kalibi: /ben/foo/bar
+/- kalibi: /sen/bar/baz
Hedef dosya: /hedef/ben/foo/bar
Hedef dosya: /hedef/sen/bar/baz
Ornek komut: rsync -a /home/ben/ /home/sen/ /hedef
+/- kalibi: /foo/bar (dikkat: "ben" yok)
+/- kalibi: /bar/baz (dikkat: "sen" yok)
Hedef dosya: /hedef/foo/bar
Hedef dosya: /hedef/bar/baz
Ornek komut: rsync -a --relative /home/ben/ /home/sen /hedef
+/- kalibi: /home/ben/foo/bar (dikkat: tam dosyayolu)
+/- kalibi: /home/sen/bar/baz (keza bu da)
Hedef dosya: /hedef/home/ben/foo/bar
Hedef dosya: /hedef/home/sen/bar/baz
Ornek komut: cd /home; rsync -a --relative ben/foo sen/ /hedef
+/- kalibi: /ben/foo/bar (belirtilen yolla baslar)
+/- kalibi: /sen/bar/baz (keza bu da)
Hedef dosya: /hedef/ben/foo/bar
Hedef dosya: /hedef/sen/bar/baz
Hangi ismi suzdugunuzu gormenin en kolay yolu, --verbose kullanarak
ciktiya bakmak ve ismin onune bir / koymaktir (herhangi bir dosya
kopyalamaya hazir degilseniz, --dry-run secenegini kullanin).
Dizini,ci Kati,stirma Kurallari ve Silme
Bir silme secenegi olmaksizin, dizinici katistirma dosyasi kurallari
sadece gonderen tarafta konuyla ilgilidir, dolayisiyla aktarimi
etkilemeksizin rahatca katistirma dosyalarini dislayabilirsiniz. Bunu
kolayca yapmanin yolu, ornekte goruldugu gibi bu dislamaya 'e'
belirtecini eklemektir:
rsync -av --filter=': .haric' --exclude=.haric mkn:kaynak/dizin /hedef
rsync -av --filter=':e .haric' mkn:kaynak/dizin /hedef
Buna ragmen, alici tarafta bir silme yapmak VE bazi dosyalarin da
silinerek dislanmasini isterseniz, alici tarafin dislanacak dosyalari
bilmesini saglamaniz gerekecektir. En kolayi, aktarima dizinici
katistirma dosyalarini dahil etmek ve --delete-after kullanmaktir. Bu
yolla, birseyleri silmeden once alici tarafta gonderen taraftaki
dislama kurallari alinmis olacaktir:
rsync -avF --delete-after mkn:kaynak/dizin /hedef
Yine de, katistirma dosyalari aktarimin bir parcasi degilse, ya bazi
genel dislama kurallari belirtmeli (komut satirinda belirtilebilir) ya
da alici tarafta dizinici katistirma dosyalarinin bulunmasini kendiniz
saglamalisiniz. Ilkine bir ornek (uzak .kural dosyalarinin kendilerini
disladiklari varsayiliyor):
rsync -av --filter=': .kural' --filter='. /benim/ek.kuralim'
--delete mkn:kaynak/dizin /hedef
Bu ornekte ek.kuralim dosyasi aktarimin her iki tarafini da
etkileyebilir, fakat (gonderen tarafta) kurallar dizinici katistirma
kuralindan sonra belirtildiginden .kural dosyasindan katistirilan
kurallardan daha dusuk oncelikli olurlar
Son ornekte, uzak taraf .rsync-filter dosyalarini aktarimdan
dislamaktadir, ancak biz alici tarafta neyin silinecegini denetim
altina almak icin kendi .rsync-filter dosyalarimizi kullanmak
istiyoruz. Bunu yapmak icin dizinici katistirma dosyalarini ozellikle
dislamali (boylece silinmezler) ve neyin silinip silinmeyecegini
denetim altina almak icin kurallari yerel dosyalara koymaliyiz. Bu
komutlardan biri gibi:
rsync -av --filter=':e /.rsync-filter' --delete \
mkn:kaynak/dizin /hedef
rsync -avFF --delete mkn:kaynak/dizin /hedef
BETIK KIPI
Betik kipi bir cok sistem icin ayni olan guncellemeleri uygularken
kullanilabilir. Bir dizin agacinin cok sayida makine uzerinde
kopyalarinin bulundugunu varsayalim. Simdi, kaynak agacinda bazi
degisiklikler oldugunu ve bunlarin diger makinelere de aktarilmasi
gerektigini varsayalim. Bu islemi betik kipini kullarak yapmak icin,
rsync, kaynak agacindaki degisiklikleri hedef agaclardan birinde
uygulayan --write-batch secenegi ile calistirilir. --write-batch
secenegi, yapilan islemlerin ayni dizin agacini iceren hedeflerde
uygulanmak uzere bir "betik dosyasi" icinde saklanmasini saglar.
Kaydedilen degisiklikleri diger hedef agaclara uygulamak icin rsync, bu
dosyanin ismi secenege arguman olarak belirtilerek --read-batch
secenegi ile calistirilir. rsync, betik dosyasinda saklanmis bilgileri
kullanarak hedef agaci gunceller.
Rahat olsun diye, --write-batch secenegi kullanilirken ek bir dosya
daha olusturulur. Bu dosyanin ismi, betik dosyasinin isminin sonuna
".sh" eklenerek olusturulur. Bu .sh dosyasi betik dosyasini kullanarak
hedefi guncelleyecek komut satirini icerir. Bir Bourne(-benzeri) kabuk
kullanilarak calistirilabilir. Istege bagli olarak ozgun yol yerine
hedef agacin dosya yolu aktarilabilir. Bu, hedef agacin kaynak agacinin
yolundan farkli oldugu durumlarda yararlidir.
Dosya durumu, saglama toplami sinanmasi ve veri bloklarinin uretimi
islemleri betik dosyasina bir kere kaydedildi mi, hedef agaclarda
defalarca kullanilabilir. Ayni verileri her konaga ayri ayri gondermek
yerine cok sayida konagi ayni anda guncelleyecek cok gorevli aktarim
protolleri de kullanilabilir.
Ornekler:
$ rsync --write-batch=foo -a mkn:/kaynak/dzn/ /hedef1/dzn/
$ scp foo* uzak:
$ ssh uzak ./foo.sh /hedef2/dzn/
$ rsync --write-batch=foo -a /kaynak/dzn/ /hedef1/dzn/
$ ssh remote rsync --read-batch=- -a /hedef2/dzn/ <foo
Bu orneklerde, rsync /kaynak/dzn/'den /hedef1/dzn/'i guncellemekte
kullanilmis ve bu islemi yinelemek icin islemler "foo" ve "foo.sh"
dosyalarina kaydedilmistir. "uzak" konagi betige kayitli veri
/hedef2/dzn/ dizinine gonderilerek guncellenir. Bu iki ornek arasindaki
farklar betik dosyalarinin hangi esneklikte kullanilabilecegini
gostermek icindir:
o Ilk ornek ilk kopyanin yerel olmayacagini gosterir -- her iki yonde
de aktarim icin ister uzak kabuk sozdizimini, ister rsync sunucu
sozdizimini kullanabilirsiniz.
o Ilk ornek uzak makine uzerinde --read-batch secenekli komutu
calistirirken dogru rsync seceneklerini olusturulan "foo.sh"
dosyasindan alir.
o Ikinci ornek betik verisini standart girdiden okur, boylece betik
dosyasinin once uzak makineye kopyalanmasi gerekmez. Bu ornekte
degistirilmis bir --read-batch secenegi kullanilmasini
gerektirdiginden "foo.sh" betigi kullanilmamistir, fakat betigi
kullanmak icin dosyayi kendiniz duzenleyebilirsiniz. (Ancak, baska
bir secenegin (--exclude-from=- gibi) standart girdiyi
kullanmadigindan emin olmalisiniz.)
Yetersizlikler
Betik okuma secenegi, hedef agacin, betigin olusturuldugu hedefteki
agacla ayni olacagi kabulune dayanir. Hedef agacta bir fark
saptandiginda islem ya bir hata verilmeksizin iptal edilir (dosya
guncel gorunuyorsa) ya da dosya guncellemesi yapilmaya calisilir ve
bundan sonra eger dosyanin dogrulanmasi basarisiz olursa islem bir hata
uretilerek iptal edilir. Bu, eger islem kesintiye ugratilirsa bir betik
okuma isleminin yeniden baslatilmasinin guvenli olmasi gerektigi
anlamina gelir. Eger betikli guncellemenin dosyanin boyutuna ve
tarihine bakilmaksizin daima yapilabilmesini isterseniz, -I secenegini
kullanin (betik okunurken). Eger bir hata olusursa, hedef agac bir
ihtimal, kismen guncellenmis durumda olacaktir. Bu durumda, rsync
betikli guncelleme ile degil, normal islemle kullanilarak hedef agac
duzeltilebilir.
Tum hedeflerde kullanilan rsync surumu, betik dosyasini uretmekte
kullanilandan en azindan biraz daha yeni olmalidir. Eger, betik
dosyasinin protokol surumu onu okuyan rsync'in surumunden daha yeni ise
rsync bir hata vererek sonlanacaktir.
--dry-run (-n) secenegi betik kipinde calismaz ve bir calisma ani
hatasi ile sonlanir.
Bir betik dosyasi okunurken, siz belirtmemis olsaniz bile, betik
dosyasi uretilirken kullanilan ve betik dosyasindaki veriler icin
gerekli olan bazi secenekler zorunlu olarak kullanilacaktir. Diger
secenekler degistirilebilir, hatta degistirilmelidir de. Ornegin,
--write-batch secenegi --read-batch secenegi olarak degismeli,
--files-from kullanilmamalidir, bunun yaninda
--filter/--include/--exclude secenekleri ise --delete seceneklerinden
biri belirtilmedikce gerekli olmaz.
betik.sh dosyasini olusturan kod, kabuk betiginin sonuna tek bir
listeye donusturerek --filter/--include/--exclude seceneklerini bir
belge niteliginde ekler. Tecrubeli bir kullanici bu bilgiyi --delete
tarafindan silinmesi istenenlerde bir degisiklik varsa, dislama
listesini degistirmekte kullanabilir. Normal bir kullanici ise, bu
ayrintilari yoksayabilir ve betikli veriyi uygun --read-batch komutuyla
calistiran kabuk betigini kullanabilir.
rsync'deki ozgun betik kipi "rsync+" uzerine insa edilmis olsa da en
son surumde yeni bir gerceklenim kullanilmaktadir.
SEMBOLIK BAGLAR
rsync kaynak dizini icinde bir sembolik bag saptadiginda uc temel
davranis sozkonusudur:
. Ontanimli olarak, sembolik baglar olduklari gibi aktarilmazlar. Bir
sembolik bag varsa, "skipping non-regular file" (normal dosya
olmadigindan atlaniyor) iletisini alirsiniz ve dosya atlanir.
. Eger --links secenegi belirtilmisse, sembolik baglar alici tarafta
ayni hedefle yeniden olusturulurlar. BILGI: --archive secenegi
dolayli olarak --links secenegini uygular.
. Eger --copy-links secenegi belirtilmisse, alici tarafa sembolik
bagin ismiyle hedefindeki dosya aktarilir.
rsync ayrica, "guvenilir" ve guvensiz" sembolik baglari ayrimsayabilir.
Bunun kullanildigi yere bir ornek olarak, bir sanalyore yansilamasi
yapilirken, yorenin genel bolumundeki /etc/passwd sembolik baginin
aktarimda icerilmediginden emin olunmak istenmesi gosterilebilir.
--copy-unsafe-links seceneginin kullanimi sembolik baglarin hedefindeki
dosyalarin kopyalanmasina sebep olacaktir. --safe-links seceneginin
kullanimi ise guvensiz baglarin atlanmasina sebep olacaktir.
Mutlak yol iceren (/ ile baslayan) sembolik baglarla, bulunulan
dizinden daha yukaridaki dizinleri gosteren ".." bilesenlerini iceren
sembolik baglar guvensiz olarak kabul edilir.
TANI KOYMA
rsync ara sira biraz sifreli gibi gorunen hata iletileri uretir.
Bunlardan biri en kafa karistici olan "protocol version mismatch -- is
your shell clean?" (protokol surumu yanlis -- kabugunuz temiz mi?)
iletisidir.
Bu ileti genellikle, rsync'in aktarim icin kullandigi akim uzerinde
istenmeyen veriler ureten uzak kabul olusumlari ya da baslatma
betiklerinizden kaynaklanir. Bu soruna tani koymanin yolu, uzak kabugu
soyle calistirmaktir:
ssh uzakmakine /bin/true > out.dat
Bundan sonra olusturulan out.dat dosyasina bakin. Hersey yolunda
gitmisse dosya sifir uzunlukta olacaktir. Eger yukaridaki hatayi
aliyorsaniz, dosya bazi veriler icerecektir. Dosyanin icerigine bakarak
bunlari nelerin uretebilecegini bulmaya calisin. Cok yapilan bir hata,
etkilesimsiz oturum acmak icin komutlar iceren yanlis yapilandirilmis
kabuk betikleridir (.cshrc veya .profile gibi).
Suzme kaliplarinda hata ayiklamak istiyorsaniz, -vv secenegini
belirtmeyi deneyin. rsync, bu ayrinti seviyesinde dosyalarin tek tek
neden icerildigini veya dislandigini gosterecektir.
,CIKI,S DEGERLERI
0 Basarili
1 Sozdizimi ya da kullanim hatasi
2 Protokol uyumsuzlugu
3 girdi/cikti dosyalarini, dizinlerini secerken olusan hatalar
4 Istenen eylem desteklenmiyor; 64 bitlik dosyalari desteklemeyen
bir platformda bu tur dosyalarla calisilmak isteniyor; istemci
tarafindan desteklendigi halde sunucu tarafindan desteklenmeyen
bir secenek kullanilmis.
5 Sunucu/istmeci protokolu baslatilirken hata.
10 Soket G/C hatasi
11 Dosya G/C hatasi
12 rsync protokolu veri akiminda hata
13 Uygulama tanilarinda hata
14 Sureclerarasi iletisim (IPC) kodunda hata
20 Bir SIGUSR1 veya SIGINT alindi
21 waitpid() bazi hatalar dondurdu
22 nuve bellek tamponlari ayrilirken hata
23 Hatadan dolayi kismi aktarim
24 Gozden kacan kaynak dosyalarindan dolayi kismi aktarim
30 Veri aktariminda zamanasimi
ORTAM DEGI,SKENLERI
CVSIGNORE
.cvsignore dosyalarindaki gibi yoksayilacak kaliplari belirtmek
icin kullanilir. Daha fazla bilgi icin --cvs-exclude seceneginin
aciklamasina bakiniz.
RSYNC_RSH
rsync tarafindan kullanilan ontanimli kabugun yerine
kullanilacak kabugu belirtmek icin kullanilir. Komut isminden
sonra komut satiri secenegi olarak sadece -e secenegi
kullanilabilir.
RSYNC_PROXY
rsync sunucusuna baglanirken rsync istemcisi tarafindan
kullanilacak vekil sunucuyu belirtmek icin kullanilir. Degeri
bir konakadi:port cifti olarak belirtmelisiniz.
RSYNC_PASSWORD
Kimlik kanitlamasi gerektiren bir rsync sunucusuna baglanirken
komut satirinda parola belirtmek zorunda kalmamak icin parola bu
degiskene atanabilir. Aktarim ssh gibi bir kabuk uzerinden
gerceklestiriliyorsa bu degiskene bakilmayacaktir.
USER veya LOGNAME
USER veya LOGNAME degiskenleri bir rsync sunucusuna gonderilecek
kullanici ismini saptamak icin kullanilir. Boyle bir tanim
yapilmamissa, ontanimli kullanici ismi olarak "nobody"
kullanilir.
HOME Kullanicinin ontanimli .cvsignore dosyasini bulmakta kullanilir.
ILGILI DOSYALAR
/etc/rsyncd.conf veya rsyncd.conf
ILGILI BELGELER
rsyncd.conf(5)
HATALAR
Zamanlar unix time_t turunden degerler olarak aktarilir.
Dosyalar FAT dosya sistemine aktarilirken, rsync dosyalarda degisiklik
yapmayabilir. --modify-window seceneginin aciklamasina bakiniz.
Dosya izinleri, aygitlar, vs. temel sayisal degerleriyle aktarilir.
Ayrica, --delete seceneginin aciklamasina da bakiniz.
Lutfen hatalari raporlayiniz! Hatalari raporlamak icin
http://rsync.samba.org/ adresine bakiniz.
RSYNC HAKKINDA
rsync GNU kamu lisansi altinda dagitilmaktadir. Ayrintilar icin COPYING
dosyasina bakiniz.
Sanalyoremize http://rsync.samba.org/ adresinden erisebilirsiniz. Bu
kilavuz sayfasinda yanitlarini bulamadiginiz sorular icin
sanalyoremizde bir FAQ-O-Matic bulunmaktadir.
rsync'in ana ftp'si: ftp://rsync.samba.org/pub/rsync.
Bu uygulamayi istiyorsaniz, sizden bunu duymak bizi mennun edecektir.
Bu uygulamada, Jean-loup Gailly ve Mark Adler tarafindan yazilmis zlib
sikistirma kutuphanesi kullanilmaktadir.
TE,SEKK"UR
rsync'in yamanmasi, sinanmasi ve onerileri icin Richard Brent, Brendan
Mackay, Bill Waite, Stephen Rothwell ve David Bell'e tesekkur
ederiz. Burada bahsetmeyi unuttugum kisiler kalmissa, affola.
Ayrica, David Dykstra, Jos Backus, Sebastian Krahmer, Martin Pool,
Wayne Davison ve J.W. Schultz'a ozellikle tesekkur ederiz.
YAZANLAR
rsync ilk olarak Andrew Tridgell ve Paul Mackerras tarafindan yazildi.
Daha sonra bir cok kisi tarafindan gelistirildi.
Destek ve gelistirme icin http://lists.samba.org adresindeki eposta
listelerine bakiniz.
,CEVIREN
Nilgun Belma Buguner <nilgun (at) belgeler.gen.tr>, Mart 2005
28 Subat 2005 rsync(1)