table of contents
- İSİM
- KULLANIM
- AÇIKLAMA
- GENEL
- AYARLAR
- KULLANIMI
- İLERİ DÜZEY KULLANIM
- RSYNC ARTALAN SÜRECİNE BAĞLANMAK
- RSYNC ARTALAN SÜRECİNE UZAK KABUKTAN BAĞLANMAK
- BAĞLANTI BEKLEYECEK RSYNC ARTALAN SÜRECİNİ BAŞLATMAK
- AKTARIM SIRALAMASI
- ÖRNEKLER
- ÖZETLE SEÇENEKLER
- AÇIKLAMALARIYLA SEÇENEKLER
- ARTALAN SÜRECİ SEÇENEKLERİ
- SÜZME KURALLARI
- TOPLU İŞLEM DOSYASI KİPİ
- SEMBOLİK BAĞLAR
- TANI KOYMA
- ÇIKIŞ DEĞERLERİ
- ORTAM DEĞİŞKENLERİ
- İLGİLİ DOSYALAR
- İLGİLİ BELGELER
- HATALAR
- DAHİLİ SEÇENEKLER
- RSYNC HAKKINDA
- TEŞEKKÜR
- YAZAN
- ÇEVİREN
RSYNC(1) | Kullanıcı Komutları | RSYNC(1) |
İSİM¶
rsync - hızlı, becerikli, uzak (ve yerel) dosya kopyalama aracı
KULLANIM¶
Yerel:¶
- rsync
- [SEÇENEK...] KAYNAK... [HEDEF]
Uzak bağlantı:¶
Alım:
- rsync
- [SEÇENEK...] [KULL@]KONAK:KAYNAK... [HEDEF]
Gönderim:
- rsync
- [SEÇENEK...] KAYNAK... [KULL@]KONAK:HEDEF
rsync sürecinden erişim:¶
Alım:
Gönderim:
¶
HEDEF belirtmeksizin yalnızca KAYNAK
belirtilen kullanımda kopyalama yapılmaz, kaynak dosyalar
listelenir.
Bu kılavuz sayfasının belge içi bağlarla
gezilebilir sürümü için bkz:
http://tlbp.gen.tr/man/man1/man1-rsync.html
AÇIKLAMA¶
rsync hızlı ve olağanüstü becerikli bir dosya kopyalama aracıdır. Yerel olarak veya herhangi bir uzak kabuk ya da uzak rsync sunucusu üzerinden başka bir konağa/konaktan kopyalama yapabilir. Davranışının her yönünü denetleyebilen çok sayıda seçenek sunar ve kopyalanacak dosyaların çok esnek belirlenmesine olanak sağlar. Yalnızca kaynak dosyalar ile hedefteki mevcut dosyalar arasındaki farkları göndererek ağ üzerinden gönderilen veri miktarını azaltan delta aktarım algoritmasıyla ünlüdür. rsync, yedekleme ve yansılama için ve günlük kullanım için geliştirilmiş bir kopyalama komutu olarak yaygın olarak kullanılır.
rsync boyutuna veya son değişiklik zamanında bakarak değişen dosyaları bulan "hızlı denetim" algoritmasını (öntanımlıdır) kullanarak aktarılacak dosyaları saptar. Hızlı bir denetimle dosya verisinin güncellenmesinin gerekmediği saptandığında bile ilgili seçenekler belirtilerek istendiği takdirde diğer öznitelikler de hedef dosyaya aktarılır.
rsync’e özgü bazı ek özellikler:
- ○
- bağların, aygıtların, sahip, grup ve izinlerin kopyalanmasını destekler
- ○
- GNU tar’a benzer exclude ve exclude-from seçenekleri
- ○
- CVS’nin yok sayacağı dosyaların yoksayılmasını sağlayan CVS dışlama (.ignore) kipi
- ○
- rsh, ssh gibi uzak geçirgen kabukları kullanabilir
- ○
- ayrıcalıklı kullancının yetkilerine ihtiyaç duymaz
- ○
- görünmeyen maliyetleri asgari düzeyde tutmak için dosya aktarımlarında borulama yapar
- ○
- hem anonim hem de kimlik doğrulamalı rsync sunucu desteği (yansılama için ideal)
GENEL¶
rsync dosyaları, uzak konaktan yerele veya yerelden uzak konağa ya da yerel dosya sistemi içinde kopyalayabilir. İki uzak konak arasında dosya kopyalamayı desteklememektedir.
rsync’in uzak bir sisteme bağlanmasının iki yolu vardır: ssh(1) veya rsh(1) gibi uzak kabuk uygulamalarından birini kullanarak ya da doğrudan TCP üzerinden rsync sunucusuna bağlanarak. Kaynak veya hedef, konak belirtiminden sonra tek bir : imi ile ayrılarak belirtiliyorsa uzak kabuk aktarımı uygulanır. Kaynak veya hedef, konak belirtiminden sonra bir çift : imi (::) ile ayrılarak belirtiliyorsa veya rsync://URL belirtimi kullanılmışsa doğrudan rsync sucucusuna bağlanmaya çalışılır. (İkinci kuralın bir istisnası için bkz: RSYNC ARTALAN SÜRECİNE UZAK KABUKTAN BAĞLANMAK).
Özel bir durum olarak, hedef belirtmeksizin tek bir kaynak belirtilmesi durumunda dosyalar "ls -l" çıktısına benzer biçemde listelenir.
Beklendiği gibi, ne hedefte ne de kaynakta uzak bir konak belirtilmiyorsa dosya sistemi içinde kopyalama yapılır (ayrıca, bkz: --list-only seçeneği).
rsync yerel tarafı istemci, uzak tarafı sunucu olarak ele alır. Sunucu ile rsync artalan sürecini karıştırmayın. Artalan süreci daima sunucudur fakat sunucu (uzak taraf) bir artalan süreci olabileceği gibi uzak kabuğun çatalladığı bir süreç de olabilir.
AYARLAR¶
Kurulum işlemleri için README.md dosyasına bakınız.
Kurduktan sonra, bir uzak kabuk üzerinden erişelebilen (veya rsync artalan kipi protokolü kullanarak erişilebilen) her makinede rsync kullanılabilir. Uzak dosya aktarımları için, günümüzde rsync iletişiminde ssh kullanmasına rağmen öntanımlı olarak kullanacağı uzak kabuk rsh veya remsh gibi bir kabuk olarak da ayarlanabilir.
Bundan başka, istediğiniz uzak kabuk uygulamasını -e komut satırı seçeneğinin girdisi olarak veya RSYNC_RSH ortam değişkenine atayarak da belirtebilirsiniz.
Yalnız, rsync’in hem yerel hem de uzak makine üzerinde kurulu olması gerektiğini unutmayın.
KULLANIMI¶
rsync’i rcp’yi nasıl kullanıyorsanız öyle kullanabilirsiniz. Biri uzak makine olmak üzere bir kaynak ve bir hedef belirtmelisiniz.
Şüphesiz sözdizimini açıklamanın en kolay yolu bir örnek vermektir:
rsync -t *.c foo:src/
rsync -avz foo:src/bar /data/tmp
rsync -avz foo:src/bar/ /data/tmp
rsync -av /src/foo /dest rsync -av /src/foo/ /dest/foo
rsync -av konak: /hedef rsync -av konak::modul /hedef
Son olarak, belli bir rsync sunucusundaki modüllerden listelenebilir olanlar modül ismi boş bırakılarak listelenebilir:
rsync somehost.mydomain.com::
İLERİ DÜZEY KULLANIM¶
Bir uzak makineden çok sayıda dosya için istek yaparken aralarında boşluk bırakılmış kaynak dosya yolları, ilkinden sonra uzak konağı belirterek de belirtmeyerek de yazılabilir. Aşağıdakilerin hepsi çalışacaktır:
rsync -aiv konak:dosya1 :dosya2 konak:dosya{3,4} /hedef/ rsync -aiv konak::modismi/dosya{1,2} konak::modismi/ek /hedef/ rsync -aiv konak::modismi/first ::modismi/ek{1,2} /hedef/
rsync -aiv konak:’basit bir dosya.pdf’ /hedef/
rsync -ai --old-args konak:’dzn1/dosya1 dzn2/dosya2’ /hedef rsync -ai --old-args konak::’modismi/dzn1/dosya1 modismi/dzn2/dosya2’ /hedef
RSYNC ARTALAN SÜRECİNE BAĞLANMAK¶
Dosya aktarımı için rsync’i bir uzak kabuk olmaksızın kullanmak da mümkündür. Bu durumda, TCP 873. port üzerinde çalışan bir uzak rsync sunucusuna bağlanırsınız. Bu açıkça artalan sürecinin uzak makinada çalışıyor olmasını gerektirir. Bu konuda daha ayrıntılı bilgi için bkz: RSYNC ARTALAN SÜRECİNE UZAK KABUKTAN BAĞLANMAK
rsync’i bu yöntemle kullanmanın bir uzak kabuk üzerinden kullanmaya göre farkları şunlardır:
- ○
- Ya makine ismini dosya yolundan ayırmak için tek bir : yerine :: kullanırsınız ya da rsync://URL biçimini kullanırsınız.
- ○
- Dosya yolunun ilk sözcüğü aslında bir modül ismidir.
- ○
- Sunucu bağlandığınızda günün iletisini basabilir.
- ○
- Sunucu için bir dosya yolu belirtmezseniz, sunucu üzerinde erişilebilir olan dosya yollarının listesini alırsınız.
- ○
- Bir yerel hedef belirtmezseniz, uzak sunucu istediğiniz dosyaların bir listesini yollar.
- ○
- --rsh (-e) seçeneğini belirtmemelisiniz (yoksa ssh bağlantısı bir süreç çatallayacağından sunucuda çalışan artalan süreci yoksayılır -- bkz: RSYNC ARTALAN SÜRECİNE UZAK KABUKTAN BAĞLANMAK)
rsync -av konak::kaynak /hedef
- Uyarı:
- Bazı sistemlerde ortam değişkenlerini tüm kullanıcılar görebilmektedir. Bu tür sistemlerde --password-file seçeneğinin tercih edilmesi önerilir.
RSYNC_PROXY ortam değişkenine bir konak:port çifti belirterek bir vekil sunucu üzerinden de bağlantı sağlayabilirsiniz. Burada, vekil sunucunuzun yapılandırmasının 873. port üzerinden bağlantıya izin verdiğinden emin olmalısınız.
Doğrudan soket bağlantısı yapmak yerine RSYNC_CONNECT_PROG ortam değikenine çalıştırmak istediğiniz komutları atayarak bir uygulamayı vekil olarak kullanmak suretiyle artalan sürecinin ağa bağlanması sağlanabilir. Komut dizgesi, rsync komutunda belirtilen konak adını ifade etmek üzere "%H" değişkenini içerebilir (dizgede tek bir % belirtmek gerekirse yerine %% kullanılabilir). Örnek:
export RSYNC_CONNECT_PROG=’ssh vekilkonak nc %H 873’ rsync -av hedefkonak1::modul/kaynak/ /hedef/ rsync -av rsync://hedefkonak2/modul/kaynak/ /hedef/
RSYNC ARTALAN SÜRECİNE UZAK KABUKTAN BAĞLANMAK¶
rsync artalan sürecinin, (isimli modüller gibi) çeşitli özelliklerini kullanarak, fazladan bir soket bağlantısı yapmadan, sisteme uzak kabukla bağlanmak bazen yararlıdır. rsync, bir konağa uzak kabuk kullanarak bağlanmayı ve ardından uzak kullanıcının ev dizinindeki bir yapılandırma dosyasını okuyacak tek kullanımlık bir "artalan" sunucusu çatallamayı destekler. Artalan süreci tarzı bir aktarımda verilerin şifrelenmek istenmesi durumunda bu yararlı olabilir, ancak artalan süreci uzak kullanıcı tarafından başlatıldığından, chroot(1) gibi özellikler kullanılamayabilir veya artalan süreci tarafından kullanılan kullanıcı kimliği değiştirilemeyebilir. (Artalan süreci aktarımını şifrelemenin başka bir yolu da, ssh(1) kullanarak yerel bir portu uzak bir konağa tünellemek ve uzak konaktaki normal rsync artalan sürecini yalnızca "localhost" bağlantılarına izin verecek şekilde yapılandırmaktır.)
Kullanıcı açısından, uzak kabuk bağlantısıyla uzak artalan süreci çatallayarak aktarımda, normal rsync artalan süreci aktarımında kullanılanla hemen hemen aynı komut satırı sözdizimi kullanılır. Tek fark, uzak kabuğun --rsh=KOMUT seçeneğiyle komut satırında açıkça belirtilmesi gerekliliğidir. (RSYNC_RSH ortam değişkeninin kullanımı aynı işlevselliği sağlamaz.) Örnek:
rsync -av --rsh=ssh konak::modul /hedef
rsync -av -e "ssh -l ssh-kull" rsync-kull@konak::modul /hedef
Bu kullanımda, rsync artalan süreci ssh(1) tarafından sisteme erişilerek başlatılmaktadır (istenirse, ~/.ssh/authorized_keys dosyası üzerinden de zorlanabilir). Ancak, artalan sürecine (uzak kabuk uygulaması ile değil) doğrudan erişilecekse sürecin önceden çalıştırılmış olması gerekir.
BAĞLANTI BEKLEYECEK RSYNC ARTALAN SÜRECİNİ BAŞLATMAK¶
Bir rsync artalan sürecine bağlanabilmek için uzak sistemde rsync artalan sürecinin çalışmakta olması gerekir (veya belli bir porttan gelen bağlantıda bir rsync artalan sürecini çatallaması için inetd benzeri bir sürecin yapılandırılması gerekir). Gelen soket bağlantılarını işleyecek bir artalan sürecinin nasıl başlatılacağı hakkında bilgi için bkz: rsyncd.conf(5) -- bu, artalan sürecinin yapılandırma dosyasıdır ve artalan sürecinin nasıl çalıştırılacağına ilişkin tüm ayrıntıları içerir (artalan süreci ve inetd yapılandırmaları dahil).
Uzak kabuk aktarımlarından biri kullanılacaksa rsync artalan sürecini başlatmak gerekmez.
AKTARIM SIRALAMASI¶
rsync, belirtilen dosya adlarını her zaman dahili aktarım listesinde sıralar. Aynı adlı dizinlerin içerikleri birleştirilerek, yinelenen dosya adlarını kaldırmak kolaylaşır, yoksa dosyalar komut satırında verilenden farklı bir sırada aktarıldığında birilerinin kafası karışabilirdi.
Belli bir dosyanın diğerlerinden önce aktarılması gerekirse, dosyalar farklı rsync oturumlarında aktarılabileceği gibi --delay-updates seçeneği de kullanılabilir (ikincisi sıralı dosya aktarımını etkilemez ama son dosya güncelleme aşaması daha hızlı olur).
ÖRNEKLER¶
Burada rsync kullanımıyla ilgili bazı örneklere yer verilmiştir.
Büyük MS Word dosyaları ve eposta dizinlerinden oluşan eşimin ev dizinini yedeklemek için her gece bir PPP bağlantısı üzerinden bunları kendi makinemin arvidsjaur dizinine şöyle bir cron işi ile aktarıyorum:
rsync -Cavz . arvidsjaur:backup
get:
rsync -avuzb --exclude ’*~’ samba:samba/ . put:
rsync -Cavuzb . samba:samba/ sync: get put
"eski" ve "yeni" ftp sitelerim arasında bir dizini şu komutla yansılıyorum:
rsync -az -e ssh --delete ~ftp/pub/samba nimbus:"~ftp/pub/tridge"
ÖZETLE SEÇENEKLER¶
Burada rsync’de kullanılabilen seçeneklerin bir özetine yer verilmiştir. Bu seçenekler bir sonraki bölümde ayrıntılı olarak açıklanmıştır.
--verbose, -v çıktı daha ayrıntılı olur --quiet, -q hatalar dışında bilgi verilmez --info=SÇNK ince taneli bilgilendirici ayrıntılama --debug=SÇNK ince taneli hata ayıklayıcı ayrıntılama --stderr=e|a|c std hata çıktı kipi değişir (ön: errors) --quiet, -q hata olmayan iletiler baskılanır --no-motd süreç kipi MOTD baskılanır --checksum, -c sadece toplam sağlamaya bakılır, zaman ve
boyut değişikliklerine bakılmaz --archive, -a arşiv kipi; -rlptgoD (-H’sız) ile aynı --no-SEÇENEK belirtilen seçeneği olumsuzlar (--no-D gibi) --recursive, -r dizinlerin alt dizinlerine inilir --relative, -R göreli dosya yolları kullanılır --no-relative --relative kapatılır --no-implied-dirs -R uygulanmış dizinler gönderilmez --backup, -b yedekleme yapılır (--suffix ve
--backup-dir seçeneklerine bakın) --backup-dir=DİZİN sadece belirtilen dizinin içeriği
yedeklenir --suffix=SONEK yedekleme soneki
(--backup-dir yoksa ~ öntanımlıdır) --update, -u hedeftekiler daha yeniyse bu dosyalar
atlanır --inplace hedef dosyaları yerinde günceller --append hedef kısaysa ve eşit olacaksa veriyi ekler --append-verify eski veri sağlama toplamına eklenir --dirs, -d altdizinlere inmeden dizinleri aktarır --old-dirs, --old-d eski rsync ile iletişimde --dirs gibidir --mkpath hedefin yol bileşeni oluşturulur --links, -l sembolik bağları sembolik bağ olarak
kopyalar --copy-links, L sembolik bağ değil bağın son hedefi
kopyalanır --copy-unsafe-links sadece güvensiz sembolik bağlar
dönüştürülür --safe-links ağacın dışını hedefleyen sembolik
bağlar yoksayılır --munge-links sembolik bağı bağ değil dosya olarak aktarır --copy-dirlinks, -k sembolik bağı hedefindeki dosyaya dönüştürür --keep-dirlinks, -K sembolik bağlı dizinler alıcıda dizin
yapılır --hard-links, -H sabit bağlar korunur --perms, -p izinler korunur --executability, -E çalıştırılabilirlik korunur --chmod=CHMOD dosya ve/ya dizin izinleri korunur --acls, -A ACLler korunur (--perms uygular) --xattrs, -X ek öznitelikler korunur --owner, -o sahip korunur (sadece root) --group, -o grup korunur --devices, -D aygıtlar korunur (sadece root) --copy-devices aygıt içeriğini normal dosya gibi kopyalar --write-devices aygıtlara dosya gibi yaz (--inplace uygula) --specials özel dosyalar korunur -D --devices --specials kullanımına eşdeğer --times, -t zamanlar korunur --atimes, -U erişim zamanları korunur --open-noatime açılan dosyaların erişim zamanı değiştrlmez --crtimes, -N oluşturulma zamanları korunur (yeni-lik) --omit-dir-times, -O zamanlar korunurken dizinler bunun
dışında tutulur --super alıcıya root’un işlerini de yapmasını söyler --fake-super xattr’lerle ayrıcalıklıları saklar/kurtarır --sparse, -S seyrek dosyaları en verimli şekilde
elde eder --preallocate hedef dosyaları yazmadan önce yer ayırır --dry-run, -n işlemi yapıyormuş gibi gösterir ama yapmaz --whole-file, -W dosyaları tamamen kopyalar
(rsync algoritması ile farkları değil) --checksum-choice=AD sağlama toplamı algoritmasını seçer (--cc gibi) --one-file-system, -x dosya sistemi sınırlarının dışına çıkılmaz --block-size=BOYUT, -B sabit bir blok boyunda sağlama toplamına
zorlar --rsh=KOMUT, -e kullanılacak uzak kabuk uygulaması
belirtilir --rsync-path=UYGULAMA uzak makinede rsnc’in çalıştıracağı
uygulama --existing sadece hedefte mevcut olan dosyalar
güncellenir --ignore-existing hedefte mevcut olan dosyalar yoksayılır --remove-source-files gönderen dosyaları eşzamanlı siler (dizinsiz) --del --delete-during ile aynı --delete göndericide olmayan dosyalar alıcıda
silinir --delete-before alıcıda aktarım öncesi silme yapılır
(öntanımlı) --delete-during alıcıda aktarım sırasında silme yapılır --delete-delay silinenleri saptar, aktarım sonrası siler --delete-after alıcıda aktarım sonrası silme yapılır --delete-excluded alıcıda ayrıca dışlanmış dosyalar da
silinir --ignore-missing-args kaynakta belirtilmeyenleri hatasız yoksayar --delete-missing-args kaynakta belirtilmeyenler hedefte silinir --ignore-errors G/Ç hataları olsa da siler --force dizinler boş olmasa bile silinir --max-delete=SAYI SAYIdan fazla dosya silinmez --max-size=BOYUT BOYUTtan büyük dosyalar aktarılmaz --min-size=BOYUT BOYUTtan küçük dosyalar aktarılmaz --max-alloc=BOYUT bellek ayırma sınırını değiştirir --partial kısmen aktarılmış dosyalar tutulur --partial-dir=DİZİN kısmen aktarılmış dosyalar DİZİNde tutulur --delay-updates güncellenecek tüm dosyalar sona bırakılır --prune-empty-dirs, -m dosya listesindeki boş dizinleri budar --numeric-ids kullanıcı/grup kimliklerini isimlerle
eşleştirmez --usermap=İSİM özel kullanıcı adı eşlemi --groupmap=İSİM özel grup adı eşlemi --chown=KULL:GRUP basit kullanıcı/grup eşlemi --timeout=SÜRE G/Ç zamanaşımını SÜRE saniyeye ayarlar --contimeout=SÜRE bağlantı zamanaşımını SÜRE saniyeye ayarlar --ignore-times, -I zaman ve boyut bakımından eşleşen dosyalar
atlanmaz --size-only boyutları aynı olan dosyalar atlanır --modify-window=SAYI doğruluğu arttırmak için değişiklik
zamanları karşılaştırılır --temp-dir=DİZİN, -T geçici dosyaları DİZİNde oluşturur --fuzzy, -y hedefte dosya yoksa benzerini bulur --compare-dest=DİZİN alınan dosyaları ayrıca DİZİNdekilerle
karşılaştırır --copy-dest=DİZİN DİZİNde değişmemiş dosyaları hedefe kopyalar --link-dest=DİZİN değişmediyse DİZİNdeki dosyalara sabit bağ --compress, -z aktarım sırasında dosya verisi sıkıştırılır --compress-choice=STR sıkıştırma algoritması belirtir (--zc gibi) --compress-level=SAYI sıkıştırma seviyesi belirtir (--zl gibi) --skip-compress=LISTE uzantısı LİSTEdeki dosyalar sıkıştırılmaz --cvs-exclude, -C dosyalar CVS’nin yaptığı gibi yoksayılır --filter=KURAL, -f bir dosya süzme kuralı ekler -F --filter=’dir-merge /.rsync-filter’ ve
yinelemeli: --filter=’- .rsync-filter’
ile aynı --exclude=KALIP KALIP ile eşleşen dosyalar dışlanır --exclude-from=DOSYA dışlama kalıpları DOSYAdan okunur --include=KALIP KALIP ile eşleşen dosyalar dışlanmaz --include-from=DOSYA dışlanmayan kalıplar DOSYAdan okunur --files-from=DOSYA aktarılacak dosyaların isimlerinin listesi
DOSYAdan okunur --from0, -0 *from seçeneklerindeki dosya listeleri boş
karakter sonlandırmalı kabul edilir --old-args eski tarz boşluk ayıklaması etkin olur --protect-args, -s boşluk ayıklama yok; yalnız jokerler --copy-as=KULL[:GRUP] kopyalama içim kullanıcı ve seçimlik grup --address=ADRES giden soketine adresi bağlar --port=PORT başka bir port belirtmek için --sockopts=SÇNK özel TCP SeÇeNeKleri belirtilir --blocking-io uzak kabukta engellemeli G/Ç kullanılır --outbuf=N|L|B çıktı tamponu biçim: None, Line, Block
yok, satır, blok --stats dosya aktarımı sırasında durum bilgileri
verir --8-bit-output, -8 yüksek bitli karakterler çıktıda öncelenmez --human-readable, -h okunabilen sayılar çıktılanır --progress aktarım sırasında gelişimi gösterir -P --partial --progress ile aynı --itemize-changes, -i tüm güncellemeler için bir değişiklik
özeti çıktılar --remote-option=SÇN, -M SEÇENEK sadece uzak taraf gönderilir --out-format=BÇM çıktı belirtilen BiÇeMde güncellenir --log-file=DOSYA günlük belritilen DOSYAya kaydedilir --log-file-format=BÇM günlük belirtilen BiÇeM ile güncellenir --password-file=DOSYA parola DOSYAdan okunur --early-input=DOSYA sürecin başta çalıştıracağı DOSYA --list-only dosyaları kopyalamaz, sadece listeler --bwlimit=KBPS saniyede kBayt cinsinden G/Ç band genişliği --stop-after=DAK DAK dakika sonra rsync durdurulur --stop-at=y-m-dTh:m rsync belirtilen zamanda durdurulur --write-batch=DOSYA bir toplu işlemli güncellemeyi DOSYAya yazar --only-write-batch=DOSYA --write-batch gibi ama hedef güncellenmez --read-batch=DOSYA bir toplu işlemli güncellemeyi DOSYAdan okur --protocol=SAYI eski protokol sürümüne zorlar --iconv=DNŞM dosyalara karakter kümesi dönüşümü ister --checksum-seed=SAYI blok/dosya sağlama toplamı tohumunu ayarlar --ipv4, -4 IPv4 tercih edilir --ipv6, -6 IPv6 tercih edilir --version, -V sürüm + diğer bilgileri basar ve çıkar --help, -h bu yardım iletisini gösterir ve çıkar
--daemon bir rsync artalan süreci olarak çalışır --address=ADRES belirtilen adres kullanılır --bwlimit=KBPS saniyede kBayt cinsinden G/Ç band genişliği --config=DOSYA rsyncd.conf yerine kullanılacak DOSYA --dparam=YENİSİ, -M genel sunucu yapılandırması geçersiz olur --no-detach üst süreçten ayrık çalışmaz --port=PORT belirtilen PORTu dinler --log-file=DOSYA "günlük dosyası" ayarları geçersiz olur --log-file-format=BÇM "günlük biçemi" ayarları geçersiz olur --sockopts=SÇNKLER özel TCP seçenekleri belirtilir --verbose, -v ayrıntı düzeyini arttırır --ipv4, -4 IPv4 tercih edilir --ipv6, -6 IPv6 tercih edilir --help, -h --daemon bu yardım iletisini gösterir ve çıkar
AÇIKLAMALARIYLA SEÇENEKLER¶
rsync hem kısa (tek tire artı harf) hem de uzun seçenekleri (çift-tire artı sözcük) kabul eder. Aynı amaca yönelik birden fazla seçenek varsa aralarına virgül konarak listelenmiştir. Bir seçenek girdi alıyorsa ve sadece uzun seçenekte belirtilmişse, girdinin kısa seçenekte için de kullanılması zorunludur. Bazı seçenekler ise sadece uzun seçeneklerden oluşur, kısaları yoktur. ’=’ işareti içeren seçeneklerde ’=’ isteğe bağlıdır; ’=’ yerine boşluk kullanılabilir. girdileri kabuk yorumlamasından korumak için önceleyerek belirtmek gerekebilir. Bir dosya yolundaki yaklaşık imi (~) kabuk tarafından ev dizininiz olarak yorumlanır, bu nedenle --option=~/foo kullanımında yaklaşık iminin kabuk tarafından ev dizininiz olarak yorumlanabilmesi için ’=’ işareti yerine boşluk kullanılmalıdır.
- --help
- rsync tarafından kabul edilen seçenekleri açıklayan kısa bir yardım iletisi basar ve çıkar. Normalde --human-readable seçeneğinin kısa kullanımı olan --h seçeneğini başka seçenekler olmadan --help yerine de kullanabilirsiniz.
- -V, --version
- rsync sürüm numarasını ve ek bilgiler
basar ve çıkar.
Çıktıda, lisans ve telif hakkı bilgilerinden başka rysnc sitesine bir bağlantı, öntanımlı sıkıştırma ve sağlama toplamı algoritmalarının listesi ile derlenmiş yeteneklerin listesi bulunur.
- -v, --verbose
- Bu seçenek aktarım sırasında verilen bilgi
miktarını arttırır. rsync
öntanımlı olarak sessiz
çalışır. Tek -v belirtildiğinde,
hangi dosyaların aktarıldığını
gösterip sonunda bir özet basar. İki -v
belirtildiğinde atlanan dosyaları gösterir ve sonunda
daha fazla bilgi verir. İkiden fazla -v
kullanımı sadece rsync hata ayıklaması
yapıyorsanız anlamlıdır.
Çalıştırma sonu özeti, oturum boyunca uzak rsync’e (yerel kopyalamada alıcı tarafa) gönderilen ve alınan bayt sayısını ve saniyede aktarılan bayt sayısını gösterir. İkinci satır, rsync’in oturumda aktaracağı dosyaların toplam bayt sayısı ile gönderilen ve alınan baytların bunların toplamına oranları (bunlar gerçekten daha iyi hissettiren, daha büyüğün daha iyi olduğu sayılardır) gösterilir. Bu değerler ayrıca, --human-readable (veya --no-human-readable) seçenekleri kullanılarak insan tarafından daha fazla (veya daha az) okunabilir duruma da getirilebilir.
Günümüz rsync’inde, -v seçeneği --info ve --debug seçeneklerinin birlikte kullanımına eğdeğer bir çıktı üretir. Ayrıntı düzeyi arttıkça her bilginin ayrıntı düzeyi aynı oranda artmadığından -v seçeneği yerine veya birlikte bu yeni seçeneklerin kullanımı tercih edilebilir. Hem --info hem de --debug, ayrıntıdaki her artış için tam olarak hangi ayarlamaların yapıldığını belirten bir yardım istemine de sahiptir.
Bununla birlikte, artalan sürecinin "azami ayrıntı" ayarlarının, artalan süreci tarafında hangi seçenekleri ne kadar yüksek bir ayrıntıyla sınırlayabileceği de dikkate alınmalıdır. Örneğin azamilik 2 ise, -vv ile ayarlanandan daha yüksek bir değere ayarlanan info ve debug seçeneklerinin ayrıntı düzeyi, artalan süreci oturumunun -vv düzeyine indirilir.
- --info=SEÇENEKLER
- --info çıktıda görmek istenilen bilgiler üzerinde ince ayar yapılabilmesini sağlar. Her SEÇENEK sonunda bir rakam içerir. 0 çıktıda sessizliğe, 1 öntanımlı çıktı düzeyine, daha yüksek değerler de (daha yüksek ayrıntı düzeyini destekleyenler için) daha yüksek ayrıntı düzeyine karşılık gelir. Kullanılabilecek seçenek isimlerini, bunların ne çıktıladıklarını ve ayrıntı düzeyindeki her artış için hangi seçenek isimlerinin ekleneceğini görmek için rsync --info=help komutu verilebilir. Bazı örnekler:
rsync -a --info=progress2 kaynak/ hedef/ rsync -avv --info=stats2,misc1,flist0 kaynak/ hedef/
- --info=name çıktısının
--out-format ve --itemize-changes (-i)
seçeneklerinden etkileneceği dikkate
alınmalıdır. Bu seçeneklerin ne zaman ne
çıktılayacaklarını görmek
için seçeneklerin açıklamalarına
bakılabilir.
Bu seçenek 3.1.0 sürümünde eklenmiştir, bu nedenle sunucu tarafındaki daha eski bir rsync, ince ayar girişimlerini reddedebilir (sunucuya bir veya daha fazla seçenek gönderilmesi gerekiyorsa ve sunucu bunları anlamayacak kadar eskiyse). Bir artalan süreciyle çalışılacaksa yukarıdaki azami ayrıntı uyarısına da bakmakta yarar vardır.
- --debug=SEÇENEKLER
- --debug çıktıda görmek istenilen bilgiler üzerinde ince ayar yapılabilmesini sağlar. Her SEÇENEK sonunda bir rakam içerir. 0 çıktıda sessizliğe, 1 öntanımlı çıktı düzeyine, daha yüksek değerler de (daha yüksek ayrıntı düzeyini destekleyenler için) daha yüksek ayrıntı düzeyine karşılık gelir. Kullanılabilecek seçenek isimlerini, bunların ne çıktıladıklarını ve ayrıntı düzeyindeki her artış için hangi seçenek isimlerinin ekleneceğini görmek için rsync --debug=help komutu verilebilir. Bazı örnekler:
rsync -avvv --debug=none kaynak/ hedef/ rsync -avA --del --debug=del2,acl kaynak/ hedef/
- Bazı hata ayıklama iletilerinin, özellikle G/Ç
ve tampon ile ilgili olanlarının sadece --stderr=all
seçeneği belirtildiğinde
çıktılanacağına dikkat edilmelidir.
3.2.0 sürümünden itibaren, her aktarım tarafı için farklı hata ayıklama değerleri belirlemenize ve rsync sürümlerinden yalnızca birinde bulunan yeni bir hata ayıklama seçeneğini belirtmenize izin vermek için bu seçenek, artık sunucu tarafına otomatik olarak iletilmemektedir. Aynı seçeneğin her iki tarafa da uygulanması istenirse, kaşlı ayraç genişletmesini kullanmak, kod yazmaktan kurtulmanın kolay bir yoludur. Aşağıdaki komut, zsh(1) ve bash(1)’ta çalışır:
rsync -aiv {-M,}--debug=del2 kaynak/ hedef/
- --stderr=errors|all|client
- Bu seçenek, hangi işlemlerin ve bilgi iletilerinin standart hataya çıktılanacağını belirtmekte kullanılır. Kip dizgeleri kısaltılabilir, bu nedenle tek harflik değerler de kullanılabilir. Olası 3 seçim şunlardır:
- errors
- Süreç aktarımın uzak tarafında olsa bile rsync öntanımlı olarak hataları doğrudan standart hataya gönderir. İstemci tarafa bilgi iletileri ise protokol akımı üzerinden gönderilir. Standart hata kullanılabilir değilse (yani, sürece doğrudan bir soket üzerinden bağlanılıyorsa) hatalar son çare olarak protokol akımı üzerinden gönderilir.
- all
- Tüm rsync iletilerinin (bilgi ve hata) tüm (olası) süreçler tarafından doğrudan standart hataya gönderilmesini sağlar. Bu, standart hatanın (ham değil) satır tamponlu duruma gelmesine sebep olarak, bilgi ve hata iletilerinin dosya tanıtıcısına göre işlenmesi özelliğini ortadan kaldırır. Hata ayıklaması yapılan veya yüksek ayrıntı düzeyiyle kullanılan süreçler için bu seçenek, aktarım akımının tıkanmasını önlemeye yardımcı olabilir (bunun, çıkmaza girme hatasında bir şeylerin kapanma olasılığını önlemesi gerekir). Ayrıca --debug seçeneğinin G/Ç ile ilgili bazı ek iletileri etkinleştirmesini sağlar.
- client
- Tüm rsync iletilerinin istemci tarafa protokol akımı üzerinden gönderilmesini sağlar. Tüm iletileri tek istemci süreç çıktılar; hataları standart hataya, bilgi iletilerini standart çıktıya gönderir. Bu durum, eski rsync sürümlerine öntanımlıydı. Fakat, iletilerin önünde çok fazla aktarım verisi olduğunda hata gecikmelerine neden olabiliyordu. Dosyalar eski bir rsync’e gönderiliyorsa, çoğu sürümde geçerli olan --stderr=all seçeneği tercih edilebilir.
- Bu seçenek rsync’e 3.2.3 sürümünde eklenmiştir. Bu sürüm ayrıca uzak tarafa öntanımlı olmayan bir ayarı iletmeye başlamasına rağmen rsync, sırasıyla all ve client ayarlarını temsil etmek üzere geriye dönük uyumlu --msgs2stderr ve --no-msgs2stderr seçeneklerini kullanıyordu. Yeni rsync sürümleri, uyumluluğu korumak için bu eski seçenek adlarını kabul etmeye devam edecektir.
- -q, --quiet
- Bu seçenek aktarım sırasında verilen bilgi miktarını azaltır. Özellikle uzak sunucudaki bilgi iletileri baskılanır. Bu seçenek rsync’i cron’dan çalıştırırken yararlıdır.
- --no-motd
- Artalan sürecine aktarımın başlangıcında istemci tarafından çıktılanan bilgiyi etkiler. Günün iletisini (MOTD) baskılar fakat ayrıca, (rsync protokolü ile ilgili sınırlamalar nedeniyle) artalan sürecinin rsync host:: isteğine yanıt olarak gönderdiği modül listesini de etkiler. Bu bakımdan, artalan sürecinden modül listesi isteği yapılacaksa bu seçeneğin kullanılmaması gerekir.
- -I, --ignore-times
- Normalde rsync hedefte de aynı boyutta ve aynı
değişiklik zamanına sahip dosyalar varsa
bunları atlayacaktır. Bu seçenek bu
"hızlı sınama"
davranışını kapatarak tüm
dosyaların güncellenmesini sağlar.
Bu seçenek rsync’in daha fazla dosya aktarmasına sebep olduğundan, rsync’in birkaç dosya aktarmasına sebep olan --ignore-existing ve --ignore-non-existing seçenekleriyle karşılaştırıldığında kafa karıştırıcı olabilir.
- --size-only
- Bu seçenek bu "hızlı sınama" davranışını değiştirerek dosyaların değişiklik zamanlarına bakılmaksızın hedefte de aynı boyutta iseler aktarılmamalarını sağlar. rsync, zaman değerlerinin doğru tutulmadığı başka bir yansılama sistemini kullandıktan sonra kullanılmaya başlanacaksa bu seçenek yararlıdır.
- -@, --modify-window=SAYI
- İki zaman değerini
karşılaştırırken, fark
SAYI’da küçükse rsync bu
değerleri eşit kabul eder. Bu fark normalde 0 saniyedir (tam
eşitlik). Negatif değer belirtilirse, nanosaniyeler de
dikkate alınır (alıcı tarafın
sürümü en az 3.1.3 olmalıdır). Ancak bu
farkı bazı durumlarda daha büyük bir
değere ayarlamak daha yararlıdır.
Örneğin, MS Windows FAT dosya sistemi (zaman
değerleri 2 saniyelik
çözünürlüğe sahiptir)
taraflardan biri olduğunda --modify-window=1
yararlıdır (1 saniyelik farklara izin vermek).
Tüm aktarımlarda nanosaniyelik karşılaştırmanın öntanımlı olması istenirse bir ~/.popt dosyası oluşturulup içine şu satırlar konabilir:
rsync alias -a -a@-1 rsync alias -t -t@-1
- Bu artık öntanımlı olduğundan, örneğin, ext3 ve ext4 arasında kopyalama yapılacaksa ya da alıcı rsync, 3.1.3 sürümünden eskiyse nanosaniyeleri yoksaymak ve geçersiz kılmak için --modify-window=0 (yani, -@0) seçeneğinin belirtilmesi gerekecektir.
- -c, --checksum
- Bu seçenek rsync’in dosyaların
değiştirilip değiştirilmediğini ve bir
aktarıma ihtiyaç olup olmadığını
denetleme şeklini değiştirir. Bu seçenek
olmadan rsync, (öntanımlı olarak) her
dosyanın boyutunun ve son değişiklik
zamanının gönderici ve alıcı
arasında eşleşip eşleşmediğini
denetlemek için "hızlı sınama"
yöntemini kullanır. Bu seçenek ile, her
dosyanın 128 bitlik sağlama toplamıyla
eşleştirilmesi sağlanmaya
çalışılır. Sağlama
toplamlarının oluşturulması, her iki
tarafın da aktarımdaki dosyalardan tüm verileri
okumak için çok fazla disk G/Ç işlemi
yapılacağı anlamına gelir, bu nedenle bu
seçenek, işleri önemli ölçüde
yavaşlatabilir (ve bu, değiştirilen dosyaları
aktarmak için yapılacak herhangi bir okumadan önce
yapılır).
Gönderen taraf, kullanılabilir dosyaların listesini oluşturmak için dosya sistemini tararken sağlama toplamlarını da üretir. Alıcı taraf ise, sağlama toplamlarını değişmiş dosyaları tararken üretir ve gönderici taraftakiyle aynı boyuttaki dosyalarda sağlama yapar; boyutları veya sağlama toplamaları değişen dosyalar aktarım için seçilir.
rsync’in, dosya aktarılırken oluşturulan dosya sağlama toplamlarını sınayarak, aktarılan her dosyanın alıcı tarafta doğru şekilde yeniden oluşturulduğunu daima doğruladığı unutulmamalıdır. Ancak bu aktarım sonrası otomatik doğrulamanın, bu seçeneğin aktarım öncesi yaptığı “Bu dosyanın güncellenmesi gerekiyor mu?” sınaması ile hiçbir ilgisi yoktur.
Kullanılan sağlama toplamı üzerinde, istemci ve sunucu arasında uzlaşım otomatiktir, ancak --checksum-choice (--cc) seçeneği veya bu seçeneğin açıklamasında bahsi geçen RSYNC_CHECKSUM_LIST ortam değişkeni kullanılarak bu geçersiz kılınabilir.
- -a, --archive
- Bu seçenek -rlptgoD seçeneklerine
eşdeğerdir. Alt dizinlere inerek işlem
yapılmasını ve hemen hemen herşeyin
korunmasını istemenin en kestirme yoludur; bir şey
dışında: --files-from seçeneği
belirtilmişse -r uygulanmayacaktır.
ACL’lerin (-A), ek özniteliklerin (-x), erişim zamanlarının (-U), oluşturma zamanlarının (-N) korunmasını veya sabit bağların bulunmasını ve korunmasını (-H) sağlayan seçeneklerin belirtilmemesine özen gösterilmelidir.
- --no-SEÇENEK
- Seçenek adının önüne --no-
getirerek seçenekleri olumsuzlayabilirsiniz. Ancak olumlu
seçeneklerin hepsi olumsuzlanamaz ama çoğu
için bu yapılabilir. Bazıları bir
işlemi kapatırken (--no-D, --no-perms gibi),
bazıları da öntanımlıkları
değiştirir (--no-whole-file, --no-blocking-io,
--no-dirs gibi). Olumsuzlama uzun seçeneklere
uygulanabildiği gibi kısa seçeneklere de
uygulanabilir (--no-relative ve --no-R gibi).
Bir örnek olarak, -rlptgoD seçeneklerine eşdeğer olan -a seçeneğinde sadece -o seçeneğinin uygulanmaması istenirse -a seçeneğini -rlptgD’ye dönüştürüp kullanmak yerine -a --no-o (yani, --archive --no-owner) kullanılabilirdi.
Seçeneklerin birbirlerine göre konumları da önemlidir: -a --no-r kullanımının tersine --no-r -a kullanıldığında -r tekrar etkin olur. Bunun yanında, çeşitli seçeneklerin öntanımlı durumlarını etkileyerek -a seçeneğinin anlamını oldukça değiştiren --files-from seçeneğinin yan etkisi konumsal bile değildir. Daha fazla bilgi için bkz: --files-from
- -r, --recursive
- Bu seçenek alt dizinlerinde ardışık olarak
kopyalanmasını sağlar. Ayrıca, tek bir dizinin
taranmasını sağlayan --dirs (-d)
seçeneğine de bakınız.
Aktarılacak dosyaların listesini oluşturmaya yönelik arttırımlı özyinelemeyle ilgili bilgiler için --inc-recursive seçeneğine bakılabilir.
- --i-r, --inc-recursive
- rsync 3.0.0 ve sonrasında aktarımın her iki
tarafında da --recursive seçeneği
kullanılırken öntanımlı olarak
etkinleştirilen yinelemeli dosya taramasının
arttırımlı olmasını sağlar.
Arttırımlı özyineleme, dosyalar aktarılmaya başlanmadan önce tüm dosya hiyerarşisinin taranmasını gerektirmediğinden arttırımsız olana göre aktarımın daha çabuk başlamasını sağlar. Kaynak dosyalarda özyineleme etkin değilse bu seçenek etkisizdir.
Bazı seçenekler rsync’in dosya listesinin tamamını bilmesini gerektirir, dolayısıyla bu seçenekler arttırımlı özyineleme kipini iptal eder. Arttırımlı özyinelemeyi iptal eden seçenekler:
--delete-before (--delete seçeneğinden önce öntanımlıydı) --delete-after --prune-empty-dirs --delay-updates
- --delete seçeneğinin arttırımlı
özyineleme ile uyumlu olması için rsync
3.0.0’da --delete-during öntanımlı
silme kipi yapıldı (silme kipi 2.6.4
sürümünde eklenmişti).
Arttırımlı özyinelemenin tek yan etkisi, özyinelemeli olarak taranan bir dizindeki eksik alt dizinlerin (öntanımlı olarak) özyinelemeden önce oluşturulmasıdır. Bu erken oluşturma aşaması (arttırımsız olanın tersine) rsync’in bitmiş dizinin değişiklik zamanını (özyinelemeli kopyalama bitene kadar geciktirmek zorunda kalmadan) hemen tanımlamasını sağlar. Ancak, daha sınırlayıcı ayrıcalıklar bu alt dizinlere kopyalama bitmeden atanmaz. --omit-dir-times seçeneği kullanılarak bu erken oluşturma aşamasından kaçınılabilir.
Arttırımlı özyineleme --no-inc-recursive (--no-i-r>) seçeneği ile iptal edilebilir.
- --no-i-r, --no-inc-recursive
- --recursive seçeneğinin yeni arttırımlı özyineleme algoritmasını iptal eder. Böylece rsync dosyaları aktarmaya başlamadan önce tüm dosya listesini tarar. Daha fazla bilgi için bkz: --inc-recursive
- -R, --relative
- Göreli dosya yolları kullanılır. Yani, komut satırının gönderici kısmında belirtilen dosya yolunun son parçası değil, dosya yolunun tamamı kopyalanır. Bu seçenek aynı anda çok sayıda farklı dizini göndermek için yararlıdır. Örneğin şöyle bir komut,
rsync /foo/bar/foo.c remote:/tmp/
- uzak makinede /tmp/foo.c dosyasını oluşturur. Bunun yerine şu komutu kullansaydınız,
rsync -R /foo/bar/foo.c remote:/tmp/
- uzak makinede /tmp/foo/bar/foo.c dosyası
oluşturulacaktı (dosya yolunun tamamı
kopyalanır). Bu fazladan yol elemanlarına rsync
terminolojisinde örtük dizin adı verilir
(yukarıdaki foo ve foo/bar dizinleri).
rsync 3.0.0 ve sonrasında, dosya yolu aslında sembolik bağ olsa bile dosya listesindeki örtük dizinler daima gerçek dizin olarak gönderilir. Bu, dosya yolunu kopyalarken bir sembolik bağın varlığını fark etmediğiniz durumda beklenmeyen bazı davranışları önler. Bir sunucu tarafı sembolik bağlı kopyalamak istiyorsanız, hem yolu ile birlikte sembolik bağı hem de gerçek yolu ile birlikte hedef dizini ekleyin. Gönderen tarafta daha eski bir rsync ile uğraşıyorsanız, --no-implied-dirs seçeneğini kullanmanız gerekebilir.
Ayrıca, belirtilen her yol için, örtük dizin olarak gönderilen dizin miktarını da sınırlamak mümkündür. Gönderen tarafta 2.6.7 ve üstü bir rsync olması durumunda, kaynak yola aşağıdaki gibi bir nokta ve eğik çizgi yerleştirebilirsiniz:
rsync -avR /foo/./bar/baz.c uzak:/tmp/
- Bu, uzak konakta /tmp/bar/baz.c dosyasını oluşturur. (Dikkat: Noktadan sonraki eğik çizgi zorunludur, “/foo/.” gibi bir kısaltma çalışmaz). Daha eski rsync sürümlerinde kaynak yolunu sınırlamak için cd(1) ile dizin değiştirmek gerekebilir. Örnek:
(cd /foo; rsync -avR bar/baz.c uzak:/tmp/)
- (Yaylı ayraçlar komutların bir alt kabukta çalışmasını sağlar, böylece daha sonraki komutlar için dizin değişikliğinin etkisi olmaz.) Uzak dosyalar eski bir rsync’den alınıyorsa şöyle bir işlem yapılabilir (artalan süreci aktarımı olmamak koşuluyla):
rsync -avR --rsync-path="cd /foo; rsync" uzak:bar/baz.c /tmp/
- --no-implied-dirs
- Bu seçenek, --relative seçeneğinin
öntanımlı davranışını
etkiler. Belirtildiğinde kaynak taraftaki örtük
dizinlerin öznitelikleri aktarıma dahil edilmez. Bu, hedef
sistemdeki karşılık gelen yol
elemanlarının varsa değişmeden
bırakıldığı ve eksik
örtük dizinlerin öntanımlı
özniteliklerle oluşturulduğu anlamına gelir.
Böylece, bu örtük yol elemanlarının
alıcı taraftaki bir dizine sembolik bağ olması
gibi büyük farklılıklara bile izin verilir.
Örneğin, bir komut satırı girdisini veya bir gönderici dosya girdisi ile rsync’in "yol/foo/dosya" dosyasını aktarması istenirse --relative seçeneği de kullanılmışsa buradaki "yol" ve "yol/foo" örtük dizinlerdir. "yol/foo", hedef sistemdeki ""bar"a bir sembolik bağ ise, alıcı rsync normalde "yol/foo"yu siler, onu bir dizin olarak yeniden oluşturur ve dosyayı yeni dizine yerleştirir. --no-implied-dirs seçeneği ile, alıcı rsync, mevcut yol elemanlarını kullanarak "yol/foo/dosya"yı günceller; bu, "yol/bar" dosyasının oluşturulmasının sona erdiği anlamına gelir. Bu bağ korumasını gerçekleştirmenin bir başka yolu da --keep-dirlinks seçeneğini kullanmaktır (bu, aktarımın geri kalanındaki dizin sembolik bağlarını da etkiler).
3.0.0’dan eski bir rsync’den dosya kopyalarken, gönderen tarafta bir sembolik bağ varsa ve örtük dizinlerin normal dizinler gibi aktarılması isteniyorsa bu seçeneğin kullanılması gerekebilir.
- -b, --backup
- Bu seçenekle, evvelce mevcut hedef dosyaların her
aktarımında ya da silinmesinde bu dosyaların isimleri
değiştirilir. Yedek dosyaların nereye
gideceğini ve nasıl bir sonek alacaklarını
--backup-dir ve --suffix seçenekleri ile
belirtebilirsiniz.
Eğer --backup-dir seçeneğini belirtmezseniz:
- 1.
- --omit-dir-times seçeneği etkin kılınır.
- 2.
- --delete kullanımı (--delete-excluded olmadan), rsync’in --filter "P *~" kuralının benzeri olarak tüm mevcut süzgeçlerin sonuna yedekleme soneki için "koruyucu" bir süzme kuralı eklenmesine neden olur. Bu kural, önceden yedeklenmiş dosyaların silinmesini engeller.
- Kendi süzme kurallarını sağlayanların, dışlama/koruma kurallarını, etkili olması ve yeterince yüksek bir önceliğe sahip olması için listede daha yüksek bir yere elle eklemeleri gerekebileceği unutulmamalıdır (örneğin, kurallarınız sonuna bir * içerme/dışlaması eklerseniz otomatik eklenen kurala asla ulaşılmaz).
- --backup-dir=DİZİN
- --backup seçeneğinin uygulanmasını
sağlayan bu seçenekle yedek dosyaların
alıcı tarafta saklanacağı
DİZİN belirtilebilir. Arttırımlı
yedekleme yaparken kullanılabilir. Buna ek olarak --suffix
seçeneğini kullanarak bir yedek soneki de belirtebilirsiniz
(aksi takdirde dosyalar belirtilen DİZİNe kendi
isimleri ile yedeklenir).
Göreli bir yol belirtilirse, yedekleme dizininin hedef dizine göreli olacağını unutulmamalıdır, bu nedenle muhtemelen mutlak bir yol veya “../” ile başlayan bir yol belirtmek gerekebilir. Alıcı rsync artalan süreciyse, yedekleme dizini modülün yol hiyerarşisinin dışına çıkamaz, bu nedenle DİZİNi silmemeye veya içine kopyalamamaya özen göstermek gerekir.
- --suffix=SONEK
- Bu seçenek --backup (-b) ile kullanıldığında, belirtilen SONEK öntanımlı yedekleme sonekinin yerine kullanılır. Öntanımlı sonek, --backup-dir belirtilmemişse ~ imi, belirtilmişse boş dizgedir.
- -u, --update
- Bu seçenek, hedefteki dosyanın değişiklik
zamanı kaynak dosyanınkinden yeniyse dosyanın
atlanmasını sağlar. (Eğer hedef
dosyanın değişiklik zamanı
kaynağınkiyle aynıysa, ama boyutları
farklıysa güncelleme yapılır.)
Dizinlerin, sembolik bağların veya diğer özel dosyaların kopyalanmasını etkilemez. Ayrıca, gönderici ve alıcı arasındaki dosya biçemi farkı, nesneler üzerinde hangi tarih olursa olsun, güncelleme için her zaman yeterince önemli kabul edilir. Başka bir deyişle, hedefteki bir dosyayı içeren dizin kaynakta da varsa, aktarım zaman damgalarına bakılmaksızın gerçekleşir.
Bu seçenek bir aktarım kuralıdır, dışlama kuralı değildir, bu nedenle dosya listelerine giren verileri etkilemez ve dolayısıyla silme işlemlerini de etkilemez. Sadece alıcının aktarılmasını istediği dosyaların sayısını sınırlar.
- --inplace ile birlikte kullanım
- Kesintiye uğramış bir aktarım, alıcı tarafta aktarımı bitmemiş bir dosya bırakabilir, bu durumda aktarımı yeniden çalıştırmak muhtemelen kesintiye uğrayan dosyadan devam edilmesini sağlamayacaktır. Bu nedenle, kesintiye uğrayan ve devam eden dosyaları işlemek için elle bir takım işlemler yapmak gerekiyorsa --inplace seçeneği işe yarayabilir.
- --inplace
- Bu seçenek, verilerinin güncellenmesi gerektiğinde
dosyaların aktarılma yöntemini
değiştirir: Dosyanın yeni bir kopyasını
oluşturma ve tamamlandığında yerine
taşıma şeklindeki öntanımlı
yöntem yerine, rsync güncellenecek verileri
doğrudan hedef dosyaya yazar.
Bunun bazı yan etkileri vardır:
- Sabit bağları bozmaz. Bu, yeni verilerin diğer sabit bağlar üzerinden hedef dosyaya görünür olacağı anlamına gelir. Dahası, farklı kaynak dosyaları hedefteki birden çok sabit bağlı hedefe kopyalama girişimleri, hedef verilerin ileri geri değişmesine yol açan "çekme savaşları" ile sonuçlanabilir.
- Kullanımdaki ikil dosyalar güncellenemez (işletim sistemi bunun olmasını engeller yoksa verileri değiştirilmeye çalışılan ikil dosyalar hatalı çalışır ve çöker).
- Aktarım sırasında tutarsız olan dosya verileri, aktarım kesintiye uğrar veya güncelleme başarısız olursa bu şekilde kalır.
- rsync’in yazamadığı bir dosya güncellenemez. Yazma işlemi, dosyanın yazmak amacıyla açılmasını gerektirdiğinden ayrıcalıklı kullancının bu kullanıcıya bu dosyada yazma izni vermesi gerekir.
- Aktarım sürerken hedef dosyadaki veriler, rsync dosyaya yazmadan önce değişikliğe uğrarsa, rsync’in delta-aktarım algoritmasının verimliliği düşebilir. Bu, --backup kullanıyorsanız geçerli değildir, çünkü rsync, yedekleme dosyasını aktarım için temel dosya olarak kullanacak kadar akıllıdır.
- Uyarı:
- Bu seçenek, başkaları tarafından erişilen dosyaları güncellemek için kullanılmamalıdır. Kopyalama için bu seçenek kullanılacaksa buna dikkat edilmelidir.
- Bu seçenek, büyük dosyalardaki blok
değişiklikleri veya veri eklenmesi durumlarında
özellikle ağdan değil diskten açılan
sistemlerde yararlıdır. Ayrıca, ’sadece
kopyada değişiklik olduğunda aslın
güncellendiği’ dosya sistemlerinde, bir dosyadaki
küçük değişikliklerden dolayı
dosyanın tamamı için anlık kopya
oluşturulmasını engellemeye de yardımcı
olabilir.
--partial seçeneğinin uygulanmasını sağlar (kesintiye uğrayan aktarım dosyayı silmez), dolayısıyla --partial-dir ve --delay-updates seçenekleri ile birlikte kullanılamaz. rsync 2.6.4’ten önce bu seçenek, --compare-dest ve --link-dest ile de uyumlu değildi.
- --append
- Bu özel kopyalama kipi, yalnızca, alıcı
taraftaki içeriğin göndericidekiyle aynı
olduğu bilindiğinde,
büyüdüğü bilinen dosyaları
verimli bir şekilde güncellemeye yarar. Aktarımdaki
tüm dosyaların büyüyen dosyalar
olduğundan %100 emin değilseniz --append
kullanımı tehlikeli olabilir. Bu nedenle, bu koşula
uymayan dosyaların ayıklandığından emin
olmak için süzme kuralları
kullanılmalıdır.
rsync, dosyada içeriğini tamamen doğrulamadan büyüyen dosyayı yerinde günceller (yalnızca eklediği içeriği doğrular). rsync, alıcı tarafta göndericideki dosyadan daha kısa olmayan tüm dosyaları atlar (bu, yeni dosyaların da aktarıldığı anlamına gelir). Ayrıca, gönderme uzlaşımları sırasında gönderen taraftaki boyutu kısalan dosyaları da atlar (bu olduğunda rsync "küçülen dosya" uyarısı yapar).
Dosyanın aktarımına gerek yoksa ya da bir dizinin veya sıradan olmayan dosyaların güncellenmesini etkilemiyorsa, dosyanın içerik dışı özniteliklerinin (örneğin, izinler, sahiplik ve benzerlerinin) güncellenmesini engellemez.
- --append-verify
- Bu özel kopyalama kipi --append gibi çalışır, farklı olarak dosyadaki tüm veriler sağlama toplamı doğrulamasına dahil edilir (bunu daha az verimli ama muhtemelen daha güvenli hale getirir). Aktarımdaki tüm dosyaların büyüyen dosyalar olduğundan %100 emin değilseniz --append-verify kullanımı tehlikeli olabilir. Daha fazla ayrıntı için ---append seçeneğine bakın.
- Bilgi:
- 3.0.0 sürümünden önce --append seçeneği --append-verify gibi çalışıyordu, bu nedenle böyle bir rsync ile etkileşim durumunda (veya aktarımda 30’dan eski bir protokol kullanıyorsa), ekleme seçeneklerinden herhangi birinin belirtilmesi bile --append-verify aktarımını başlatılacaktır.
- -d, --dirs
- Gönderen tarafta saptanan her dizinin aktarıma dahil
edilmesini sağlar. --recursive seçeneğinin
tersine, komut satırında dizin ismi "." ya
da bölü çizgisi ile bitmedikçe
(“.”, “dizin/.”,
"foo/" gibi) dizinin içeriği kopyalanmaz.
Bu seçenek ya da --recursive seçeneği
olmaksızın, rsync saptadığı
tüm dizinleri atlar (ve her biri için bir ileti
çıktılar). --dirs ve --recursive
seçenekleri birlikte belirtilirse, önceliği
--recursive alır.
--files-from ve --list-only seçeneklerinin (örtük --list-only dahil) yanında --recursive belirtilmezse, --dirs seçeneği örtük olarak uygulanır (böylece dizinler de listede görünür). Bunun olmaması istenirse --no-dirs (veya --no-d) belirtilebilir.
Ayrıca, geriye uyumluluğa yardımcı bir seçenek de vardır: --old-dirs (--old-d) seçeneği, taraflarda eski bir rsync bulunması durumunda özyineleme olmadan tek bir dizini listelemek için -r --exclude=’/*/*’ çözümünün kullanılmasını sağlar.
- --mkpath
- girdide belirtilen ancak hedefte bulunmayan yol bileşenini
oluşturur. Bu, rsyncin hedefte çok seviyeli dizinler
oluşturmasına ve gerekirse adını
değiştirerek tek bir dosyayı bu yola
yerleştirilmesine olanak tanır. Tek bir girdi ile kopyalama
yaparken hedef yolun tamamının bir dizin olarak ele
alınmasını (rsync’in hedefte yol
bileşeni zaten varmış gibi
davranmasını) istiyorsanız, sona bir eğik
çizgi yerleştirmeniz gerekir.
Aşağıdaki örnekte, foo dosyasından alt/dizin dizininde bar dosyası oluşturulmakta, "alt" ve "alt/dizin" dizinleri hedefte yoksa oluşturulmaktadır:
rsync -ai --mkpath foo alt/dizin/bar
- Bunun yerine işlem aşağıdaki gibi yapılsaydı, foo dosyası hedefte alt/dizin/bar dizini altında oluşturulacaktı:
rsync -ai --mkpath foo alt/dizin/bar/
- -l, --links
- Karşılaşılan her sembolik bağ
"skipping non-regular file" (normal dosya
olmadığından atlanıyor) uyarısı
ile yok sayılmak yerine, aktarılan dosyalara sessizce
sembolik bağ eklenir. Uyarıyı --info=nonreg0
kullanarak susturmak da mümkündür.
Daha ayrıntılı bilgi için bkz: SEMBOLİK BAĞLAR
- -L, --copy-links
- Gönderici, sembolik bağın gösterdiği
dosya veya dizine giden zinciri izleyerek
karşılaşılan her sembolik bağı
olduğu gibi kopyalar. Sembolik bağ zinciri bozulursa, bir
hata çıktılanır ve dosya aktarımdan
çıkarılır.
Bu seçenek, aktarımda hiçbir sembolik bağ bırakmadığından, aktarımdaki sembolik bağları etkileyen diğer seçeneklerin yok sayılmasına sebep olur.
Bu seçenek, sembolik bağların alıcı tarafta da izlenmesine sebep olan bir yan etkiye sahip 2.6.3’ten önceki rsync sürümlerinden farklı olarak, alıcı tarafta zaten mevcut olan sembolik bağların izlenmesi işleminde bir değişiklik yapmaz. Günümüz rsync’i, bu seçeneği uzak alıcıya iletmez (çünkü yalnızca gönderenin bunu bilmesi gerekir), bu nedenle, bu yetersizliğin yalnızca 2.6.7’den eski (alıcıya -L seçeneğinin aktarımı durdurmayan) rsync istemcisi kullananları etkilemesi gerekir.
Alıcı tarafta gerçek bir dizin olarak ele alınması için bir dizine sembolik bağ gereksinimi varsa bkz: --keep-dirlinks (-K).
Daha ayrıntılı bilgi için bkz: SEMBOLİK BAĞLAR
- --copy-unsafe-links
- Bu seçenek rsync’e, kopyalanan ağacın
dışındaki bir hedefi gösteren sembolik
bağları kopyalamasını söyler. Mutlak
sembolik bağlar ayrıca sıradan dosyalar olarak ele
alınır, böylece bunlar --relative
kullanıldığında kaynak dosya yolunun
kendindeki sembolik bağlar haline gelir.
Kesme noktasının, rsync’in ayrıntılı çıktıda bahsetmediği yolun parçası olarak aktarımın tepe dizini oluşuna dikkat edilmelidir. “/kaynak/alt” dizinini “/hedef/” dizinine kopyalarsanız, “alt" dizini aktarımın tepe dizini değil (/kaynak için tepe dizindir) aktarım ağacının içindeki bir addır, dolayısıyla oluşturulan göreli sembolik bağlar, /kaynak ve /hedef dizinlerindeki diğer adlar için meşrudur. Bunun yerine “/kaynak/alt/” (sonda eğik çizgi ile) “/hedef/alt” dizinine kopyalanırsa, “alt" dizini dışındaki hiçbir dosyaya sembolik bağa izin verilmez.
Güvenli sembolik bağların yalnızca --links açıkça veya örtük olarak belirtilmişse kopyalanacağını unutmayın. --copy-unsafe-links seçeneğinin, --copy-links ile birlikte kullanılınca fazladan bir etkisi olmaz.
Daha ayrıntılı bilgi için bkz: SEMBOLİK BAĞLAR
- --safe-links
- Bu seçenek rsync’e, kopyalanan ağacın
dışındaki bir hedefi gösteren sembolik
bağları yoksaymasını söyler.
Ayrıca, mutlak sembolik bağların da tamamı yok
sayılır.
Yok sayma alıcı tarafta gerçekleştiğinden, gönderen taraf geçersiz sembolik bağlara sahip olsa bile (--munge-links kullanılıyorsa) bu yok sayma yine de etkili olacaktır. Ayrıca, silme işlemlerini de etkiler, çünkü dosya aktarımda mevcut ise, sembolik bağın güvenli olmadığı kabul edildiğinde ve atlandığında alıcıdaki karşılığının silinmesini önler.
Sembolik bağların aktarımda koşullu olarak yok sayılabilmesi için bu seçenek --links (veya --archive) ile birlikte kullanılmalıdır. --copy-unsafe-links seçeneğini etkisiz kılar.
Bu seçeneğin --relative ile birlikte kullanımı istenmeyen sonuçlara yol açabilir.
Daha ayrıntılı bilgi için bkz: SEMBOLİK BAĞLAR
- --munge-links
- Bu seçenek, aktarımın yalnızca bir
tarafını etkiler ve rsync’e, sembolik
bağ değerlerini dosya alırken geçersiz
kılmasını veya dosya gönderirken
geçerli kılmasını söyler.
rsync’in sembolik bağları geçersiz
kılmak için kullandığı yöntem,
sembolik bağ (adının değil) dizgesinin
önüne “/rsyncd-munged/” dizgesi koymak,
geçerli kılmak için de dizgenin önüne
konan “/rsyncd-munged/” dizgesini
kaldırmaktır. Geçersiz
kılınmış değerler, sembolik
bağları diskte kullanılamaz hale getirir, ancak
sembolik bağın gösterdiği dosyaya/dizine
dokunulmaz.
Örneğin bir rsync artalan sürecinin yapılandırma dosyasındaki veya rrsync(1) (sınırlı rsync) betiğine aktarılan bir seçenek üzerinden rsync sunucu tarafında bu seçeneği genellikle istemcinin bilgisi dışında etkinleştirir. İstemci tarafında belirtildiğinde, geçersiz sembolik bağlara sahip olan/ihtiyaç duyan istemci tarafıysa seçenek normal olarak belirtilmelidir; geçersiz sembolik bağlara sahip olduğunda/ihtiyaç duyduğunda sunucuya seçenek vermek için -M --munge-links kullanılmalıdır. Yerel bir aktarımda, istemcinin gönderici olduğuna dikkat edin, bu nedenle seçeneğin belirtilmesi sembolik bağları doğrudan geçerli kılarken, uzak seçenek olarak belirtildiğine sembolik bağları geçersiz kılar.
Bu seçeneğin --remote-option aracılığıyla bir artalan sürecine gönderildiğinde hiçbir etkisi yoktur, çünkü artalan süreci geçersiz sembolik bağlar isteyip istemediğini "--munge-symlinks" aracılığıyla yapılandırır.
Sembolik bağ değeri, aktarıma girdikten sonra geçerli/geçersiz duruma getirilir, bu nedenle, sembolik bağları sembolik olmayanlara dönüştüren herhangi bir seçenek, alıcının yaptığı bir seçim olan --safe-links dışında, geçerli/geçersiz kılma işleminden önce gerçekleşir, bu nedenle, karar geçerli/geçersiz kılma değerine dayandırılır. Bu, bir alıcıda geçersiz kılma etkinleştirilmişse, --safe-links kullanmanın tüm sembolik bağların yok sayılmasına neden olacağı anlamına gelir (çünkü hepsi mutlaktır).
rsync’in sembolik bağları geçersiz kılmak için kullandığı yöntem, her birinin değerinin önüne “/rsyncd-munged/” dizgesi koymaktır. Bu, dizin olmadığı sürece bağların kullanılmasını engeller. Bu seçenek etkinleştirildiğinde, bu yol bir dizinse veya bir dizine bir sembolik bağ ise rsync çalışmayı reddedecektir (ancak yalnızca başlangıçta buna bakar). Bir veya daha fazla sembolik bağı yerinde geçerli/geçersiz kılmak için kaynak kodun support dizinindeki "munge-symlinks" python betiğine de bakın.
- -k, --copy-dirlinks
- Bu seçenek, gönderen tarafın bir dizin sembolik
bağını gerçek bir dizinmiş gibi ele
almasına neden olur. --copy-links
kullanılırken, dosya sembolik
bağlarının etkilenmesi istenmiyorsa bu seçenek
kullanışlıdır.
Bu seçenek olmadan, gönderen taraf bir dizini dizin sembolik bağıyla değiştirmişse, alıcı taraf yeni sembolik bağın yolunda olan her şeyi dizinler dahil siler (--force veya --delete etkili olduğu sürece).
Alıcı taraf için benzer bir seçenek --keep-dirlinks seçeneğidir.
--copy-dirlinks, kaynaktaki dizin sembolik bağlarının tamamına uygulanır. Yalnızca belli birkaç sembolik bağın izlenmesi isteniyorsa, yolların doğru eşleşmesi için --relative seçeneğini kullanarak bunları eğik çizgi sonlandırmalı kaynak girdileri olarak belirtmektir. Örnek:
rsync -r --relative kaynak/./ kaynak/./devam/ hedef/
- Bunun çalışmasının nedeni,
rsync’in kaynak girdide belirtildiği gibi
lstat(2) çağrısı yapması ve
sondaki eğik çizginin lstat() işlevinin sembolik
bağı izlemesini sağlamasıyla dosya listesinde
"kaynak/./” taraması sırasında
bulunan sembolik bağı geçersiz kılan bir
dizine yol açmasıdır.
Daha ayrıntılı bilgi için bkz: SEMBOLİK BAĞLAR
- -K, --keep-dirlinks
- Alıcı taraftaki bir dizin sembolik bağı,
göndericide gerçek bir dizinle eşleşiyorsa
gerçek bir dizinmiş gibi ele alınır. Bu
seçenek olmaksızın alıcıdaki sembolik
bağ silinip yerine gerçek bir dizin konur.
Örneğin, "dosya" dosyasını içeren "foo" dizinini aktardığınızı, ancak "foo"nun alıcıda "bar" dizinine sembolik bağ olduğunu varsayalım. --keep-dirlinks olmadan, alıcıda "foo" sembolik bağı silinir, bir dizin olarak yeniden oluşturulur ve dosya bu yeni dizine kopyalanır. --keep-dirlinks ile alıcıdaki sembolik bağ korunur ve "dosya" içeriği "bar" dosyasına aktarılır.
- Dikkat:
- --keep-dirlinks kullanıyorsanız, alıcıdaki tüm sembolik bağlara güvenmeli veya alıcı tarafta --munge-links seçeneğini etkinleştirmelisiniz! Güvenilmeyen bir kullanıcının gerçek bir dizini gösteren bir sembolik bağ oluşturması mümkünse, kullanıcı (bir sonraki kopyada) sembolik bağı gerçek bir dizinle değiştirebilir ve sembolik bağın başvurduğu dizinin içeriğini etkileyebilir. Yedekleme kopyalarında, alıcıdaki hiyerarşiyi değiştirmek için sembolik bağ kullanmak yerine dosyayı bir bağlama noktası gibi kullanmak daha iyidir.
- Gönderen taraf için benzer bir seçenek
--copy-dirlinks seçeneğidir.
Daha ayrıntılı bilgi için bkz: SEMBOLİK BAĞLAR
- -H, --hard-links
- Bu seçenek rsync’e, sabit bağları
aynı kaynak sistemdeki gibi yeniden
oluşturmasını söyler. Bu seçenek
olmaksızın kaynak taraftaki sabit bağlı
dosyalar ayrı dosyalar olarak ele alınır.
Bu seçenek, hedefteki sabit bağ kalıbının kaynaktakiyle tam olarak eşleşmesini GEREKTİRMEZ. Hedefte ek sabit bağların oluşabileceği durumlar:
- Alıcı, ikincil sabit bağlar (kaynak dosya listesinde mevcut olandan daha fazlasını) içeriyorsa, kopyalama algoritması bunların bağını açıkça kesmez. Ancak, yollardan birinin veya daha fazlasının içerik farklılıkları varsa, normal dosya güncelleme işlemi bu ek bağları kesecektir (--inplace seçeneği kullanılmıyorsa).
- Sabit bağlar içeren bir --link-dest dizini belirtilirse, hedef dosyaların --link-dest dosyalarıyla karşılıklı bağlanması, --link-dest ilişkilendirmeleri nedeniyle hedefteki bazı yolların birbirine bağlanmasına neden olabilir.
- rsync’in yalnızca aktarım listesinde bulunan
dosyalar arasındaki sabit bağları
algılayabildiği unutulmamalıdır. rsync,
aktarımın dışındaki dosyalarla fazladan
sabit bağ ilişkileri olan bir dosyayı
güncellerse, bu ilişki kopacaktır. Bu
kırılmayı önlemek için --inplace
seçeneği kullanılmak istenirse, dosyaların
nasıl güncellendiğinin bilinmesi gerekir,
böylece kalıcı sabit bağlar nedeniyle
istenmeyen değişikliklerin olmayacağından emin
olunabilir (başka uyumsuzluklar için --inplace
seçeneğine de bakılabilir).
Arttırımlı özyineleme etkinse (bkz. --inc-recursive), rsync, başka bir yerde bu içerikler için başka bir bağın bulunduğunu keşfetmeden önce eksik bir sabit bağlı dosyayı aktarabilir. Bu, aktarımın doğruluğunu (yani, hangi dosyaların birbirine sabit olarak bağlı olduğunu) değil, yalnızca verimliliğini etkiler (yani, aktarımda sabit bağlı dosya kümesinin daha sonra bulunabilecek başka bir üyesi olan sabit bağlı bir dosyanın yeni bir ilk kopyası için verilerin kopyalanması). Bu verimsizliği önlemenin tek yolu, --no-inc-recursive seçeneğini kullanarak arttırımlı özyinelemeyi devre dışı bırakmaktır.
- -p, --perms
- Bu seçenek rsync’e, izinleri hedefte aynı
kaynak sistemdeki gibi belirlemesini söyler.
(rsync’in kaynak izinlerini hedefte nasıl
değiştirdiği --chmod seçeneğinde
açıklanmıştır.)
Bu seçenek belirtilmediğinde izinler şöyle belirlenir:
- Mevcut dosyaların (güncellenmiş dosyalar dahil) mevcut izinleri korunursa da --executability seçeneği ile dosyanın çalıştırma izni değiştirilebilir.
- Yeni dosyalar "normal" izin bitlerini, alıcı dizinin öntanımlı izinleriyle (alıcı sürecin umask’ı veya hedef dizinin öntanımlı ACL’si aracılığıyla belirtilen izinler) maskelenmiş kaynak dosya izinlerinden alır, özel izin bitleri ise, yeni bir dizinin setgid bitini kendi üst dizininden devraldığı durum dışında devre dışı bırakılır.
- Bu nedenle, --perms ve --executability seçeneklerinin
ikisi de devre dışı
bırakıldığında, rsync’in
davranışı cp(1) ve tar(1) gibi
diğer dosya kopyalama uygulamalarıyla aynıdır.
Özetle: Hedef dosyalara (hem eski hem de yeni) kaynak izinlerini vermek için --perms kullanılmalıdır. Yeni dosyalara hedefin öntanımlı izinlerini vermek için (mevcut dosyaları değiştirmeden bırakarak), --perms seçeneği olmaksızın --chmod=ugo=rwX kullanılması gerekir (bu, tüm maskelenmemiş bitlerin etkinleştirilmesini sağlar). Bu seçeneklerin daha sonra kolayca yazılması için, ~/.popt adında bir dosya oluşturup komut satırının bu dosyay yazılması ve popt takma adının tanımlanması yeterli olur. Aşağıdaki örnekte, diğer seçeneklere ek olarak hedef dizinin öntanımlı grubunun kullanılması için --no-g seçeneğini de içeren bir takma ad olarak -Z seçeneği tanımlanmaktadır:
rsync alias -Z --no-p --no-g --chmod=ugo=rwX
- Bu yeni seçenek komut satırında şöyle kullanılabilirdi:
rsync -avZ kaynak/ hedef/
- (Önemli: -a seçeneğinin -Z
seçeneğinden önce kullanılmasına dikkat
edilmelidir, yoksa yukarıdaki --no-* seçeneklerinin
ikisi de geçersiz olur.)
--perms seçeneğinin belirtilmediği durumda yeni oluşturulan dizinlerde hedefin setgid bitinin korunması özelliği 2.6.7 sürümünde eklenmiştir. Daha eski rsync sürümleri, yeni oluşturulan dizinde hedefin setgid bitini geçersiz kılarken, --perms belirtilmediğinde yeni oluşturulan dosyalar için üç özel izin bitini hatalı bir şekilde koruyordu. rsync 2.6.7 sürümünde ACL yamasına öntanımlı ACL gözlemi eklendi, bu nedenle daha eski (veya ACL-etkin olmayan) rsync’ler, öntanımlı ACL’ler mevcut olsa bile umask’ı kullanır. (Bu davranışları etkileyenin, alıcının rsync sürümü olduğunu unutulmamaldır.)
- -E, --executability
- --perms seçeneği etkin değilse bu seçenek normal dosyaların çalıştırılabilirliğini/çalıştırılamazlığını korur. Normal bir dosyanın çalıştırılabilir olması için izinlerinde en azından bir "x" etkin olmalıdır. Mevcut bir hedef dosyanın çalıştırılabilirliği kaynaktakinden farklıysa rsync hedef dosyanın izinlerinde aşağıdaki gibi değişiklik yapar:
- Bir dosyanın çalıştırılabilir olmaması için rsync dosyanın tüm ’x’ izinlerini kapatır.
- Bir dosyayı çalıştırılabilir yapmak için her etkin ’r’ izni için ’x’ iznini etkin kılar.
- --perms seçeneği etkinse bu seçenek yok sayılır.
- -A, --acls
- Bu seçenekle hedefin ACL’si (Erişim Denetim Listesi)
kaynağınkiyle aynı yapılır. Bu
seçenek --perms seçeneğinin
örtük olarak uygulanmasına sebep olur.
Bu seçeneğin düzgün çalışabilmesi için kaynak ve hedef ACL’lerinini uyumlu olması gerekir. Uyumlu olmayan ACL’lerin yedeklenmesi ve geri yüklenmesi ile ilgili bilgi için bkz: --fake-super.
- -X, --xattrs
- Bu seçenek, hedefin ek özniteliklerinin
kaynağınkiyle aynı olmasını
sağlar.
Genişletilmiş öznitelik isim alanlarını destekleyen sistemler için, ayrıcalıklı kullancı tarafından yapılan bir kopyalama, sistem.* dışındaki tüm isim alanlarını kopyalar. Normal bir kullanıcı yalnızca user.* isim alanını kopyalar. Normal kullanıcı aidiyetinde olmayan isim alanlarının normal bir kullanıcı olarak yedeklenmesi ve geri yüklenmesi ile ilgili bilgi için bkz: --fake-super.
Yukarıdaki isim alanı yetkilendirmesi x belirteçli süzme seçenekleriyle geçersiz kılınabilir. Ek öznitelikleri etkileyen bir süzme kuralı belirtildiğinde, rsync, kullanıcının kendi sistem.*/user.* süzme kurallarını uygulamasını ve ayrıca kopyalanacak veya silinecek ek öznitelik adlarına ilişkin ek süzme işlemlerini yapmasını gerektirir. Örneğin, sistem.* isim alanını atlamak için şu belirtilebilir:
--filter=’-x system.*’
- Kullanıcı isim alanı dışındaki tüm isim alanlarını atlamak için kullanıcı isim alanına olumsuzlama uygulanabilir:
--filter=’-x! user.*’
- Özniteliklerin silinmesini engellemek için tüm isimleri dışlayan alıcıya özel bir kural belirtilebilir:
--filter=’-xr *’
- -X seçeneği yinelenmedikçe (-XX gibi) rsync’in özel ek öznitelik değerlerini (örn, --fake-super ile kullanılanları) kopyalamaz. Bu "tüm ek öznitelikleri kopyala" kipi --fake-super seçeneğiyle birlikte kullanılamaz.
- --chmod=KİP
- Bu seçenek, aktarımdaki dosyaların izinlerine bir
veya daha fazla virgül ayraçlı chmod kipinin
uygulamasını sağlar. Ortaya çıkan
değer, gönderen tarafın dosya için
sağladığı izinler olarak
değerlendirilir; --perms seçeneği
belirtilmemişse bu seçeneğin mevcut dosyalar
üzerinde hiçbir etkisi olmaz.
chmod(1) kılavuz sayfasında belirtilen normal çözümleme kurallarına ek olarak, ’D’ ile öncelenerek belirtilen öğeler yalnızca dizinlere, ’F’ ile öncelenerek belirtilen öğeler ise yalnızca dosyalara uygulanır. Örneğin, aşağıdakiler tüm dizinlerin setgid olarak imlenmesini, dosyalara başkaları tarafından yazılamamasını, kullanıcı ve grup tarafından yazılabilmesini ve tüm bitlerle tutarlı çalıştırılabilirlik sağlayacaktır:
--chmod=Dg+s,ug+w,Fo-w,+X
- Ayrıca sekizlik gösterime de izin verilir:
--chmod=D2775,F664
- Çok sayıda --chmod seçeneği belirterek
bunların yapılacak değiklikler listesine eklenmesini
sağlamak da mümküdür.
Aktarımdaki dosyalara uygulanabilen izin değerlerinin --perms ve --executability seçenekleriyle verdiği sonuçları incelemek için bu seçeneklerin açıklamalarına bakılabilir.
- -o, --owner
- Alıcı taraftaki rsync
ayrıcalıklı kullancının aidiyetinde
çalıştırıldığı
takdirde, hedef dosyanın sahibinin aynı kaynak dosyadaki
gibi belirlenmesini sağlar (ayrıca, bkz: --super ve
--fake-super). Çoğu sistemde sadece
ayrıcalıklı kullanıcı dosya aidiyetini
belirleyebilir. Bu seçenek olmaksızın yeni ve/veya
aktarılan dosyaların sahibi alıcı taraftaki
rsync’i çalıştıran
kullanıcıdır.
Sahiplik koruması, ilişkilendirmenin öntanımlı olarak kullanıcı adıyla yapılmasını gerektirir, ancak bazı durumlarda son çare olarak kullanıcı kimliği de kullanılabilir (Bu konu --numeric-ids seçeneğinin açıklamasında daha ayrıntılı incelenmiştir).
- -g, --group
- Alıcı taraftaki rsync
ayrıcalıklı kullancının aidiyetinde
çalıştırıldığı
takdirde, hedef dosyanın grubunun aynı kaynak dosyadaki gibi
belirlenmesini sağlar. Alıcı tarafta
rsync’i ayrıcalıklı
kullanıcı çalıştırmıyorsa
(veya --no-super belirtilmişse), yalnızca
çalıştıran kullanıcının
üyesi olduğu gruplar korunur. Bu seçenek
olmaksızın yeni ve/veya aktarılan dosyaların
grubu alıcı taraftaki rsync’i
çalıştıran kullanıcının
öntanımlı grubudur.
Grup koruması, ilişkilendirmenin öntanımlı olarak grup adıyla yapılmasını gerektirir, ancak bazı durumlarda son çare olarak grup kimliği de kullanılabilir (Bu konu --numeric-ids seçeneğinin açıklamasında daha ayrıntılı incelenmiştir).
- --devices
- Aktarılan karakter ve blok aygıtları
alıcı sistemde yeniden oluşturulur.
Alıcı taraftaki rsync
ayrıcalıklı kullanıcının
aidiyetine değilse, aygıt dosyalarını
oluşturma adımı sessizce atlanır
(ayrıca, bkz: --super ve --fake-super).
Bu seçenek belirtilmemişse, öntanımlı olarak rsync rastladığı her aygıt dosyası için "skipping non-regular file" (normal dosya olmadığından atlanıyor) uyarısı üretir. Uyarıyı --info=nonreg0 kullanarak susturmak mümkündür.
- --specials
- Soket, isimli boru gibi özel dosyaların
aktarılmasını sağlar. Alıcı
taraftaki rsync ayrıcalıklı
kullanıcının aidiyetine değilse, bu
dosyaları oluşturma adımı sessizce
atlanır (ayrıca, bkz: --super ve
--fake-super).
Bu seçenek belirtilmemişse, öntanımlı olarak rsync rastladığı her özel dosya için "skipping non-regular file" (normal dosya olmadığından atlanıyor) uyarısı üretir. Uyarıyı --info=nonreg0 kullanarak susturmak mümkündür.
- -D
- "--devices --specials" seçeneklerine eşdeğerdir.
- --copy-devices
- Bir aygıtın gönderen tarafta sıradan bir dosya
olarak ele alınmasını ve alıcı tarafta
normal bir dosyaya (veya --write-devices seçeneği de
belirtilmişse başka bir aygıta)
kopyalanmasını sağlar.
Bu seçenek rsync artalan süreci tarafından öntanımlı olarak reddedilir.
- --write-devices
- Bir aygıtın alıcı tarafta sıradan bir
dosya olarak ele alınmasını ve dosya verisinin bir
aygıta yazılmasını sağlar.
Örtük olarak --inplace seçeneğinin uygulanmasını sağlar.
- Dikkat:
- rsync özellikle, ayrıcalıklı kullancının aidiyetinde çalışıyorsa, aktarım sırasında alıcı tarafta hangi aygıtların mevcut olduğunun bilinmesi gerekir.
- Bu seçenek rsync artalan süreci tarafından öntanımlı olarak reddedilir.
- -t, --times
- Bu seçenek rsync’e, dosyaları değişiklik zamanlarına göre aktarmasını ve bunları uzak sistemde güncellemesini söyler. Bu seçenek kullanılmazsa, değiştirilmemiş dosyaları dışlayan en iyileme etkili olamaz; başka bir deyişle, bu seçeneğin veya -a seçeneğinin yokluğu sonraki aktarımda -I kullanılmış gibi tüm dosyaların güncellenmesine yol açar (eğer dosyalar gerçekten değişmemişse, rsync’in delta aktarım algoritması güncellemeyi oldukça verimli yapsa da bu seçeneğin kullanılması çok daha iyi olacaktır).
- -U, --atimes
- Hedef dosyanın erişim zamanına kaynak dosyadaki
değerin atanmasını sağlar.
Yinelenirse, aktarım tamamlandıktan sonra rsync’in bir süre daha çalıştırılması gerekmeksizin, gönderici ve alıcı sistemlerin aktarılan dosyaların erişim zamanlarını eşlemesine yardımcı olan --open-noatime seçeneğini örtük olarak etkinleştirir.
- Bilgi:
- 3.2.0 öncesi bazı rsync sürümleri, bu seçenek yinelendiğinde örtük olarak --open-noatime uygulamayan bir ön --atimes yamasıyla derlenmiş olabilir.
- --open-noatime
- Aktarılmakta olan dosyaların erişim zamanının değiştirilmemesi için dosyaların O_NOATIME bayrağıyla (destekleyen sistemlerde) açılmasını sağlar. İşletim sisteminiz O_NOATIME bayrağını desteklemiyorsa, rsync bu seçeneği sessizce yok sayar. Ayrıca, bazı dosya sistemlerinin, O_NOATIME bayrağı belirtilmeden bile, okuma erişiminde erişim zamanın güncellenmesini önleyecek şekilde bağlanabildiği unutulmamalıdır.
- -N, --crtimes
- Hedef dosyanın oluşturulma zamanına kaynak dosyadaki değerin atanmasını sağlar.
- -O, --omit-dir-times
- Değişiklik, erişim ve oluşturulma
zamanlarını korumak için dizinlerin
atlanmasını sağlar. Alıcı tarafta
NFS’nin paylaştığı dizinler için
bu seçeneği kullanmak daha iyidir. --backup bu
seçenekle birlikte --backup-dir olmaksızın
kullanılamaz.
Bu seçeneğin ayrıca --inc-recursive seçeneğinde incelendiği gibi arttırımlı özyineleme etkinleştirildiğinde eksik alt dizinlerin önceden oluşturulmasını önleme gibi bir yan etkisi de vardır.
- -J, --omit-link-times
- Değişiklik, erişim ve oluşturulma zamanlarını korumak için sembolik bağların atlanmasını sağlar.
- --super
- Bu seçenekle rsync, alıcı tarafta ayrıcalıklı kullanıcı tarafından çalıştırılmamış olsa bile ayrıcalıklı kullanıcı etkinliklerini yerine getirebilir. Bu etkinlikler şunları içerir: --owner seçeneği aracılığıyla kullanıcıları korumak, --group seçeneği aracılığıyla tüm grupları (yalnızca geçerli kullanıcının gruplarını değil) korumak ve --devices seçeneği aracılığıyla aygıtları kopyalamak. Ayrıcalıklı kullanıcı olmadan bu tür etkinliklere izin veren sistemler için ve ayrıca alıcı taraf ayrıcalıklı kullanıcı olarak çalıştırılmıyorsa hata almanızı sağlamak için kullanışlıdır. Ayrıcalıklı kullanıcı etkinliklerini kapatmak için ayrıcalıklı kullanıcı --no-super seçeneğini kullanabilir.
- --fake-super
- Bu seçenek etkinleştirildiğinde, rsync, her
dosyaya eklenen özel ek öznitelikler
aracılığıyla (gerektiğinde)
ayrıcalıklı öznitelikleri kaydederek/geri
yükleyerek ayrıcalıklı kullanıcı
etkinliklerini taklit eder. Buna dosyanın sahip ve grubu
(öntanımlı değilse), dosyanın
aygıt bilgisi (aygıt ve özel dosyalar boş
metin dosyaları olarak oluşturulur) ve gerçek
dosyalara atanmasına izin verilmeyen veya sahibinin
erişimini kısıtlayan (chattr +i <dosya>
komutundaki gibi) izin bitleri dahildir. Bu seçenek ayrıca
ACL’lerin (--acls belirtilmişse) ve
kullanıcı ek özniteliklerinin (--xattrs
belirtilmişse) de işlenebilmesini sağlar.
Bu seçenek, ayrıcalıklı kullanıcı olmaksızın verileri yedeklemenin ve uyumsuz sistemlerdeki ACL’leri depolamanın iyi bir yoludur.
Bu seçenek sadece seçeneği kullanan tarafı etkiler. Uzak kabuk bağlantısının uzak tarafını etkilemek için --remote-option (-M) seçeneği kullanılır:
rsync -av -M --fake-super /kaynak/ konak:/hedef/
- Yerel kopya için, bu seçenek hem kaynağı hem
de hedefi etkiler. Yerel kopyanın sadece hedef dosyalar için
bu seçeneği etkinleştirmesi istenirse -M
--fake-super seçenekleri, sadece kaynak dosyalar için
ise --super ile -M -fake-super birlikte
kullanılır.
Bu seçenek hem --super hem de --no-super seçeneğini geçersiz kılar.
Artalan sürecinin rsyncd.conf(5) dosyasındaki "fake super" modül seçeneğinin açıklamasına da bakılabilir.
- -S, --sparse
- Bu seçenekle rsync, seyrek dosyaların hedefte daha az yer kaplayacak şekilde elde edilmesini sağlamaya çalışır. --inplace ile birlikte kullanılırsa, oluşturulan dosya bazı çekirdek sürümlerinde ve/veya dosya sistemlerinde seyrek bloklarla sonuçlanmayabilir. --whole-file etkinse (örneğin yerel kopya için), güncellenmiş sürüm yazılmadan önce dosya kırpıldığından daima en iyi sonuç elde edilir.
- Uyarı:
- 3.1.3 öncesi rsync sürümlerinde --sparse ve --inplace birlikte kullanılamaz.
- --preallocate
- Alıcı tarafın, dosyaya veri yazmadan önce her
hedef dosyaya nihai boyutunu tahsis etmesini sağlar. rsync,
her bloğa boş karakter yazan yavaş glibc
uygulamasını değil, yalnızca Linux’un
fallocate(2) sistem çağrısı veya
Cygwin’in posix_fallocate(3)
çağrısı tarafından sağlanan
gerçek dosya sistemi düzeyinde ön tahsis
desteğini kullanır.
Bu seçenek olmadan, büyük dosyaların blokları dosya sisteminde bitişik olmayabilir, ancak bu seçenekle rsync muhtemelen daha yavaş kopyalama yapar. Hedef, genişletme destekleyen bir dosya sistemi (ext4, xfs, NTFS, vb.) değilse, bu seçeneğin hiçbir olumlu etkisi olmayabilir.
--sparse ile birlikte kullanımda çekirdek sürümü ve dosya sistemi türü, (boş karakter dizgeleri tahsisinin aksine) ayrılan veride delikler oluşturmayı destekliyorsa, dosyada yalnızca seyrek bloklar bulunacaktır.
- -n, --dry-run
- Bu seçenek rsync’e, herhangi bir dosya
aktarımı yapmamasını, sadece
yapıyormuş gibi işlemleri raporlamasını
söyler. rsync gerçekten
çalıştırılmadan önce ne
yapacağını görmek için
çoğunlukla --verbose (-v) ve/veya
--itemize-changes (-i) seçenekleriyle birlikte
kullanılır.
--itemize-changes çıktısının, kuru çalıştırmada ve sonraki gerçek çalıştırmada tamamen aynı olması beklenir (kasıtlı hile ve sistem çağrısı hataları hariç); aynı değilse, bu yazılım hatasıdır. Diğer çıktıların çoğunlukla değişmemesi gerekir, ancak bazı alanlarda farklılık gösterebilir. Özellikle, kuru çalıştırmada dosya aktarımları için gerçek veriler gönderilmez, bu nedenle --progress seçeneğinin hiçbir etkisi olmaz, "gönderilen baytlar", "alınan baytlar", "değişmez veriler" ve "eşleşen veriler" istatistikleri çok küçüktür ve "hızlanma" değeri, dosya aktarımının gerekmediği bir çalıştırmaya eşdeğerdir.
- -W, --whole-file
- Bu seçenekle delta aktarım algortiması kullanılmaz ve bunun yerine dosya olduğu gibi gönderilir. Eğer kaynak ile hedef konaklar arasındaki aktarım hızı disk yazma hızından (özellikle disk, ağ dosya sisteminin bir parçası ise) yüksekse bu seçenekle aktarım daha hızlı olabilir. Kaynak ve hedef yerel dosya yolları olarak belirtilmişse ve hiçbir toplu işlem dosyası yazma seçeneği etkin değilse bu seçenek öntanımlıdır.
- -no-W, --no-whole-file
- Yerel aktarımda --whole-file öntanımlı
olduğunda bu seçenek onu kapatır. Bu genellikle
rsync’i yavaşlatır, ancak hedef dosyaya
yazılanlar en aza indirilmeye
çalışılıyorsa (--inplace ile
birlikte kullanılıyorsa) veya sağlama toplamı
tabanlı güncelleme algoritması sınanacaksa
yararlı olabilir.
Bkz: Yukarıdaki --whole-file seçeneği.
- -cc, --checksum-choice=ALGO
- Bu seçenek, sağlama toplamı
algoritmalarını geçersiz kılar. Bir algoritma
adı belirtilirse, hem aktarım sağlama
toplamları hem de (--checksum belirtildiğini
varsayarak) aktarım öncesi sağlama toplamları
için kullanılır. Virgülle
ayrılmış iki ad verilirse, ilk ad aktarım
sağlama toplamlarını ve ikinci ad aktarım
öncesi sağlama toplamlarını (-c)
etkiler.
Algoritma seçenekleri:
auto (öntanımlı otomatik seçim) xxh128 xxh3 xxh64 (diğer adı: xxhash) md5 md4 none
- Kurulu sürümün öntanımlı
sağlama toplamı algoritmalarının listesi
(yukarıdakinden farklı olabilir) için rsync
--version komutu kullanılabilir.
İlk isim veya tek isim olarak "none" belirtilirse --whole-file seçeneği zorlanır ve hiçbir sağlama toplamı sınaması yapılmaz. İkinci veya tek isim olarak "none" belirtilirse --checksum seçeneği belirtilemez.
"auto" seçeneği öntanımlı olup rsync, algoritma seçimini aşağıdaki gibi istemci ve sunucu arasındaki uzlaşıma dayalı olarak yapar:
Aktarımın her iki tarafında da 3.2.0 ve üstü rsync olduğunda, istemcinin ve sunucunun seçenekler listesindeki ilk algoritma seçilir. Ortak bir sağlama toplamı seçeneği bulunamazsa, rsync hata vererek çıkar. Uzak rsync, sağlama toplamı uzlaşımını desteklemek için çok eskiyse, protokol sürümüne göre bir değer seçilir (protokol yaşına göre MD4’ün çeşitli türleri ile MD5 arasından bir seçim yapılır).
Öntanımlı sıra, RSYNC_CHECKSUM_LIST ortam değişkenine boşlukla ayrılmış kabul edilebilir sağlama toplamı adları listesi atanarak özelleştirilebilir. Dizge bir "&" karakteri içeriyorsa, liste "istemci dizgesi & sunucu dizesi" olarak ayrılır, aksi takdirde aynı dizge her ikisi için de geçerli olur. Dizge (veya dizge bölümü) boşluk olmayan karakterler içermiyorsa, öntanımlı sağlama toplamı listesi kullanılır. Bu yöntem, aktarım sağlama toplamını, aktarım öncesi sağlama toplamından ayrı olarak belirlemenize izin vermez ve "auto" ve tüm bilinmeyen sağlama toplamı adlarını yok sayar. Yalnızca geçersiz adlardan oluşan bir liste, başarısız uzlaşımla sonuçlanır.
Bu seçenek ortam değişkeninde belirtilen listeyi geçersiz kılar.
- -x, --one-file-system
- Bu seçenek rsync’e, ardışık
aktarım sırasında dosya sistemi
sınırlarının dışına
çıkmamasını söyler. Bu,
kullanıcının birden çok dosya sisteminden
kopyalanacak öğeleri belirleme yeteneğini
sınırlamaz, yalnızca rsync’in
kullanıcının belirlediği her dizini ve alt
dizinlerini ardışık taramasını ve
ayrıca silme sırasında alıcı tarafta da
buna benzer bir işlem yapmasını sağlar.
Ayrıca, rsync’in aynı aygıta bir
"bağlama" noktası oluşturup aynı
dosya sistemindeymiş gibi davrandığını
unutulmamalıdır.
Bu seçenek yinelenirse, rsync tüm bağlama noktası dizinlerini kopyadan çıkarır. Aksi takdirde, karşılaştığı her bağlama noktasında (bağlama noktasının bulunduğu dizininin özelliklerine erişilemediğinden bağlı dizinin özniteliklerini kullanarak) boş bir dizin oluşturur.
rsync’ten sembolik bağları daraltması istendiyse (--copy-links veya --copy-unsafe-links aracılığıyla), başka bir aygıttaki bir dizine giden bir sembolik bağ, bir bağlama noktası olarak değerlendirilir. Dizin olmayanlara sembolik bağlar bu seçenekten etkilenmez.
- --existing, --ignore-non-existing
- Bu seçenek rsync’e, hedefte yeni dosya/dizin
oluşturulmasını gerektirecek
aktarımları yapmamasını sadece
güncelleme yapmasını söyler.
--ignore-existing seçeneği ile birlikte
kullanılırsa, hiçbir dosya güncellenmez
(yapılmak istenen gereksiz dosyaları silmekse yararlı
olabilir).
Bu seçenek bir aktarım kuralıdır, dışlama kuralı değildir, bu bakımdan dosya listelerine giden veriyi ve dolayısıyla silme işlemini etkilemez. Sadece alıcının aktarılmasını istediği dosyaları sınırlar.
- --ignore-existing
- Bu seçenek rsync’e, hedefte mevcut olan
dosyaları güncellememesini söyler (Bu mevcut
dizinleri yok saymaz ya da hiçbir şey yapılmaz).
Ayrıca bkz: --ignore-non-existing
Bu seçenek bir aktarım kuralıdır, dışlama kuralı değildir, bu bakımdan dosya listelerine giden veriyi ve dolayısıyla silme işlemini etkilemez. Sadece alıcının aktarılmasını istediği dosyaları sınırlar.
Bu seçenek, --link-dest seçeneğini kullanarak yedekleme yapanlar için kesintiye uğrayan bir yedeklemeyi devam ettirmek gerektiğinde yararlı olabilir. --link-dest kullanımı (düzgün kullanıldığında) yeni bir dizin hiyerarşisine kopyalama yapılmasını sağladığından --ignore-existing seçeneği ile evvelce işlem görmüş dosyaların didiklenmemesi sağlanır (sabit bağlı dosyaların izinlerinde değişiklik yapılmasını önler). Yani, bu seçenek yalnızca hedef hiyerarşi içinde mevcut olan dosyalarla ilgilenir.
--info=skip2 kullanıldığında rsync, BİLGİ’nin "tür değişikliği", "toplam değişiklik" (-c gerektirir), "dosya değişikliği" (hızlı sınamaya dayalı olarak),"öznitelik değişikliği" veya "güncel" anlamına geldiği "DOSYA var (BİLGİ)" iletisini çıktılar. --info=skip1 kullanıldığında ise (örtük olarak -vv uygulayarak) mevcut iletiyi BİLGİ soneki olmadan çıktılar.
- --remove-source-files
- Bu seçenek rsync’e, hedefte yeni oluşturulan
dosyalarla içeriği güncellenenleri, gönderen
taraftan silmesini söyler. Dizinler ve aygıtlar ile sadece
öznitelikleri değiştirilmiş dosyalar silinmez.
Bu seçenek yalnızca hareket görmeyen kaynak dosyalarda kullanılmalıdır. Belirli bir dizinde görünen dosyaların başka bir konağa taşınması için kullanılıyorsa, tamamlanan dosyaların kaynak dizinde doğrudan üzerlerine yazılmadığından, isimlerinin değiştirildiğinden emin olunmalıdır, böylece rsync henüz tam olarak yazılmamış bir dosyayı muhtemelen aktaramayacaktır. Dosyalar önce farklı bir dizine yazılamıyorsa, rsync’in henüz tamamlanmamış dosyaları aktarmaktan kaçınmasını sağlayan bir adlandırma deyimi kullanılmalıdır (örneğin, dosyanın adını yazıldığında “foo.new”, işi bittiğinde “foo” yapmak ve ardından rsync aktarımı için --exclude=’*.new’ seçeneğini kullanmak gibi).
3.1.0 sürümünden başlayarak, dosyanın boyutu veya değiştirilme zamanı değişmemişse, rsync gönderen tarafı silme işlemini bir hata vererek atlayacaktır.
- --delete
- Bu seçenek rsync’e, hedefte olup kaynakta olmayan
dosyaları hedeften silmesini söyler, fakat sadece dosyalar
dizinleri ile belirtilmişse bu yapılır. Yani,
rsync’den tüm dizini ("dir" veya
"dir/" gibi) göndermesini istemeli, dizin
içeriğini belirten dosya kalıpları
("dir/*" gibi) belirtmemelisiniz. Dosya
kalıpları belirtildiğinde kalıp kabuk
tarafından yorumlanır ve kabuk rsync’den
dosyaları kapsayan dizini değil, tek tek dosyaları
aktarmasını ister. Aktarımdan dışlanan
dosyalardan biriyse, --delete-excluded
kullanılmamışsa ya da kurallar sadece gönderen
tarafla eşleşenleri imliyorsa hedefte silinecek olanlar da
dışlanır (SÜZME KURALLARI
bölümündeki içerme/dışlama
belirteçlerine bakınız).
rsync 2.6.7 öncesinde, --recursive etkin olmadıkça bu seçeneğin hiçbir etkisi olmazdı. 2.6.7 sürümünden itibaren, silme işlemi sadece içeriği kopyalanan dizinler için sadece --dirs (-d) etkin olduğunda etkili olur.
Bu seçenek doğru şekilde kullanılmazsa tehlikeli olabilir. Önce --dry-run (-n) seçeneğiyle silinecek dosyaları görüp, önemli dosyaların silinmeyeceğinden emin olduktan sonra asıl işlemi başlatmak çok daha iyidir.
Gönderen tarafta bir G/Ç hatası saptandığında hedefteki dosya silme işlemi iptal edilir. Bu, gönderen tarafın alıcı taraftaki dosyaları tümden silmesi gibi geçici dosya sistemi hatalarına karşı (NFS hataları gibi) bir önlemdir. Bu davranış --ignore-errors seçeneğiyle iptal edilebilir.
--delete seçeneği silme zamanını belirten --delete-* seçenekleriyle, --delete-excluded dahil, herhangi bir sorun olmaksızın birleştirilebilir. Ancak, silme zamanını belirten --delete-* seçeneklerinden biri belirtilmemişse, öntanımlı olarak hedefteki rsync 3.0.0 veya sonraki bir sürümse --delete-during algoritmasını, öncekilerden biri ise --delete-before algoritmasını seçer. Ayrıca bkz: --delete-after ve --delete-delay.
- --delete-before
- Alıcı taraftaki dosya silme işlemlerinin
aktarım başlamadan önce
yapılmasını sağlar. Doğrudan veya
örtük dosya silinmesi ile ilgili daha
ayrıntılı bilgi için bkz: --delete
seçeneği.
Aktarımın başında silme yapılması, eğer dosya sistemi doluluk bakımından sınırda ise ve ancak fazlalıkların kaldırılmasıyla dosya aktarımı mümkün olabilecekse yararlıdır. Ancak, bu seçenek aktarımın başlamasını geciktirdiğinden aktarımın zamanaşımına uğramasına (--timeout belirtilmişse) sebep olabilir. Ayrıca rsync’i, aktarımdaki tüm dosyaları bellekte bir kerede taramak için eski, artırımlı olmayan yineleme algoritmasını kullanmaya zorlar. (Bkz: --recursive seçeneği).
- --del, --delete-during
- Alıcı taraftaki dosya silme işlemlerinin aktarım sırasında arttırımlı yapılmasını sağlar. Bu yöntem silme işleminin aktarımdan önce ve sonra yapıldığı algoritmalardan daha hızlıdır. Dizin başına silme taraması, her dizin güncellemeler için denetlenmeden hemen önce yapılır, bu nedenle daha verimli bir --delete-before gibi davranır, silme işlemlerinin dizin başına süzme dosyalarının güncellenmesinden önce yapılması da buna dahildir. Fakat ilk olarak rsync’in 2.6.4 sürümüyle kullanılabilir olmuştur. Doğrudan veya örtük dosya silinmesi ile ilgili daha ayrıntılı bilgi için bkz: --delete seçeneği.
- --delete-delay
- Alıcı taraftaki dosya silme işlemlerinin aktarım sırasında hesaplanmasını (--delete-during gibi) ve aktarım tamamlandıktan sonra da gerçekleştirilmesini sağlar. Bu, --delay-updates ve/veya --fuzzy ile birleştirildiğinde yararlıdır ve --delete-after kullanmaktan daha verimlidir (ancak farklı davranabilir, çünkü --delete-after silmeleri, tüm güncellemeler yapıldıktan sonra ayrı bir geçişte hesaplanır). Kaldırılan dosyaların sayısı dahili bir tamponu aşarsa, adları tutmak için alıcı tarafta geçici bir dosya oluşturulur (açılırken kaldırılır, bu nedenle aktarım sırasında göremezsiniz). Geçici dosyanın oluşturulması başarısız olursa, rsync --delete-after kullanmaya geri dönmeye çalışır (eğer --recursive arttırımlı bir tarama yapıyorsa bu yapılamaz). Doğrudan veya örtük dosya silinmesi ile ilgili daha ayrıntılı bilgi için bkz: --delete seçeneği.
- --delete-after
- Alıcı taraftaki dosya silme işlemlerinin
aktarım tamamlandıktan sonra
yapılmasını sağlar. Eğer
aktarımın bir parçası olarak dizin
başına yeni dosya birleşimleri
yapıyorsanız ve bunların
dışlanmasının aktarımın silme
fazında etkin olmasını istiyorsanız bu
seçenek yararlı olacaktır. Ayrıca
rsync’i, aktarımdaki tüm dosyaları
bellekte bir kerede taramak için eski,
arttırımlı olmayan özyineleme
algoritmasını kullanmaya zorlar. (Bkz: --recursive
seçeneği). Doğrudan veya örtük dosya
silinmesi ile ilgili daha ayrıntılı bilgi için
bkz: --delete seçeneği.
Ayrıca, yalnızca silme işlemlerinin aktarımın sonunda gerçekleşmesini isteyenler için daha hızlı bir seçim olabilecek --delete-delay seçeneğine de bakılabilir.
- --delete-excluded
- Alıcı tarafta olup, gönderici tarafta olmayan dosyaların alıcı tarafta silinmesine ek olarak, alıcı tarafta dışlanan dosyalarında silinmesini sağlar (bkz: --exclude seçeneği). Alıcı tarafta tek tek dosyaların dışlanmasının bu yöntemle silinmesi ve silinmesi istenmeyen dosyaların bu seçenekten korunması ile ilgili bilgiler için SÜZME KURALLARI bölümüne bakınız. Doğrudan veya örtük dosya silinmesi ile ilgili daha ayrıntılı bilgi için bkz: --delete seçeneği.
- --ignore-missing-args
- rsync, açıkça (örneğin, komut satırı girdileri veya --files-from girdileri ile) istenen kaynak dosyaları ilk kez işlerken, dosyanın bulunamaması normalde bir hatadır. Bu seçenek bu hatayı baskılar ve dosyayı aktarmaya çalışmaz. Bir dosyanın başlangıçta mevcut olduğu ve daha sonra artık orada olmadığı tespit edilmişse, sonraki kaybolan dosyalarla ilgili hatalar bundan etkilenmez.
- --delete-missing-args
- Bu seçenek --ignore-missing-args seçeneğinin
(örtük) davranışını bir
adım öteye taşır: her eksik girdi,
alıcı taraftaki (varsa) karşılık gelen
hedef dosya için silme isteği haline gelir. Hedef dosya
boş olmayan bir dizinse, yalnızca --force veya
--delete etkinse başarıyla silinir. Bunun
dışında, bu seçenek diğer herhangi bir
silme işlemi türünden
bağımsızdır.
Eksik kaynak dosyalar, --list-only çıktısında "*missing" girdisi olarak görünen özel dosya listesi girdileriyle temsil edilir.
- --ignore-errors
- G/Ç hataları olsa bile --delete işleminin sürdürülmesini sağlar.
- --force
- Gönderici tarafta olmayan ancak alıcı tarafta olan dizinlerin içleri dolu bile olsa yerlerine aynı isimde bir dosya aktarılıyorsa silinmesini sağlar. Bu sadece --delete seçeneği olmaksızın böyledir, çünkü silme işlemleri artık iç içe dizinler içeren bir tepe dizinin silinmesi şeklinde yapılmaktadır. Doğrudan veya örtük dosya silinmesi ile ilgili daha ayrıntılı bilgi için bkz: --delete seçeneği.
- Eski rsync sürümlerinde
- --delete-after kullanılırken --force hala zorunluydu ve --recursive seçeneği de etkinleştirilmediği takdirde işlevsel değildi.
- --max-delete=SAYI
- SAYI’dan fazla dosya ya da dizin silinmez.
Sınır aşılırsa silme işlemi
aktarımın sonuna atlar ve atlanan silme işlemlerinin
sayısını bildiren bir uyarı
çıktılayıp (daha önemli hatalar
olmadıkça) 25 hata koduyla çıkar.
Yansılama yapılırken çok büyük
ağaçların yıkımına yol
açmamak için yararlıdır.
3.0.0 sürümünden itibaren, hedefteki gereksiz dosyalar hakkında hiçbiri silinmeden uyarılmak için --max-delete=0 belirtilebilir. Daha eski istemciler bunu "sınırsız" olarak yorumluyordu, bu nedenle istemcinin sürümü bilinmiyorsa, silmeye izin verilmeyeceğini belirtmek için geriye dönük uyumlu bir yol olarak, daha az belirgin olan --max-delete=-1 kullanılabilir (gerçekten eski sürümler, sınır aşıldığında uyarmıyordu).
- --max-size=BOYUT
- BOYUT bayttan dha büyük dosyalar aktarılmaz.
BOYUT belirtilirken, bayttan büyük birimler
için sonek olarak K, M, G gibi bayt çarpanları
belirtilebileceği gibi kesirli değerler de belirtilebilir
(--max-size=1.5m gibi).
Bu seçenek bir aktarım kuralıdır, dışlama kuralı değildir, bu nedenle dosya listelerine giren verileri etkilemez ve dolayısıyla silme işlemlerini de etkilemez. Sadece alıcının aktarılmasını istediği dosyaların sayısını sınırlar.
Birim dizgesinin ilk harfi B (bayt), K (kilo), M (mega), G (giga), T (tera) veya P (peta) olabilir. Dizge tek bir karakterse veya kendisine "ib" eklenmişse (örneğin, "G" veya "GiB") bu durumda birimler 1024’ün katlarıdır. "B" ile biten iki harfli bir son ek kullanırsanız (ör. “kb”) 1000’in katları olan birimler elde edersiniz. Dizgenin harfleri, birimi belirten herhangi bir büyük veya küçük harfi içerebilir.
Son olarak, dizge “+1” veya “-1” ile bitiyorsa, belirtilen yönde bir bayt kaydırılır. Mümkün olan en büyük değer genellikle 8192P-1’dir.
Örnekler: --max-size=1.5mb-1 ise 1499999 bayttır ve --max-size=2g+1 ise 2147483649 bayttır.
3.1.0 öncesi rsync sürümlerinde --max-size=0 belirtilemezdi.
- --min-size=BOYUT
- Belirtilen BOYUT değerinden daha küçük
herhangi bir dosyayı aktarmaktan
kaçınmasını söyler,
küçük, gereksiz dosyaları aktarmamaya
yardımcı olabilir. BOYUT
açıklaması ve diğer bilgiler için bkz:
--max-size seçeneği.
3.1.0 öncesi rsync sürümlerinde --max-size=0 belirtilemezdi.
- --max-alloc=BOYUT
- Öntanımlı olarak rsync,
malloc/realloc’u ayrırma başına boyut olarak
yaklaşık 1 GB ile sınırlar. Çoğu
durumda bu sınır gayet iyi
çalışır ve rsync’in çok
büyük miktarda bellek talep etmesine neden olan bir protokol
hatasını önler. Ancak, bir aktarımda
milyonlarca dosya, büyük miktarda sunucu belleği
varsa ve aktarım birden çok parçaya
bölünmek istenmiyorsa, ayırma başına
sınır daha büyük bir değere
yükseltilebilir ve böylece rsync daha fazla bellek
tüketir.
Bunun, ayrılan belleğin toplam boyutu için bir sınır olmadığını unutmayın. Her ayrı tahsis için tutarlılık değeridir.
BOYUT --max-size seçeneğinde açıklanan bir sonekle belirtilebilmektedir. Bir sonek belirtilmezse birim olarak bayt öntanımlıdır.
3.2.3 sürümü itibariyle 0 değeri sınır olmadığını belirtmektedir.
Bu seçenek tarafından desteklenen BOYUT değerlerini kullanarak RSYNC_MAX_ALLOC ortam değişkenine öntanımlı bir değer atayabilirsiniz. Uzak rsync --max-alloc seçeneğini anlamıyorsa, --max-alloc=1g belirterek ortam değişkenindeki değeri geçersiz kılabilirsiniz; "1G" öntanımlı değer olduğundan rsync seçeneği uzak tarafa göndermeyecektir.
- -B, --block-size=BOYUT
- Delta aktarım algoritmasında sabit bir blok boyunun
kullanımına zorlar. Normalde, bu değer
güncellenen her dosya için ayrı ayrı
seçilir. Daha ayrıntılı bilgi için
teknik rapora bakınız.
3.2.3 sürümü itibariyle, BOYUT --max-size seçeneğinde açıklanan bir sonekle belirtilebilmektedir. Daha eski sürümler BOYUT olarak sadece bayt sayısı kabul ederdi.
- -e, --rsh=KOMUT
- Bu seçenek yerel ve uzak rsync kopyaların
arasında iletişim için başka bir uzak kabuk
uygulaması belirleyebilmeyi sağlar. Genelde, rsync
öntanımlı olarak ssh(1) kullanacak
şekilde yapılandırılır, fakat yerel
ağda rsh(1) kullanımı da tercih edilebilir.
Bu seçenek [kullanıcı@]konak::modül/yol girdisi ile birlikte kullanılırsa, uzak makinedeki rsync sunucusunu çalıştırmak için belirtilen uzak kabuk KOMUT’u kullanılacak ve aktarım için uzak makinede çalışan rsync sunucusunun soket bağlantısı değil, uzak kabuk bağlantısı kullanılacaktır. Ayrıca, bkz: RSYNC ARTALAN SÜRECİNE UZAK KABUKTAN BAĞLANMAK
rsync 3.2.0 ve sonrasında, uzak kabuk bağlantısı aracılığıyla artalan sürecine bağlanılırsa RSYNC_PORT ortam değişkeni etkinleştirilir. Öntanımlı artalan süreci portu kullanılacaksa değişkene 0 atanır. Ya da rsync://URL ile veya --port seçeneği ile belirtilen rsync portunun değeri atanır. Bu, betiğin öntanımlı olmayan bir port istenip istenmediğini ayırt etmesine ve ssl veya stunnel yardımcı betiğinin öntanımlı porta veya başka bir porta bağlanmasını sağlar.
KOMUT’un rsync’e tek bir girdi olarak sunulması koşuluyla, KOMUT içinde komut satırı girdileri kullanımına izin verilir. Komutu ve girdileri birbirinden ayırmak için boşluk (sekme veya diğer boşluk karakterlerini değil) kullanılmalıdır. Bir girdideki boşlukları korumak için ise tek ve/veya çift tırnak kullanılabilir (ancak ters eğik çizgileri değil). Tek tırnaklı bir dizge içinde çifte tek tırnak kullanımının tek tırnakla sonuçlandığı, çift tırnak için de benzerinin geçerli olduğunu unutulmamalıdır (ayrıca, kabuğun ve rsync’in hangi tırnakları çözümlediğinin de bilinmesi gerekir). Bazı örnekler:
-e ’ssh -p 2234’ -e ’ssh -o "VekilKomutu nohup ssh firewall nc -w1 %h %p"’
- (ssh kullanıcıları konağa özgü
bağlantı seçeneklerini kendi .ssh/config
dosyalarında belirtebilir.)
Ayrıca, uzak kabuk uygulaması -e seçeneğindeki gibi değer kabul eden RSYNC_RSH ortam değişkeni kullanılarak da belirtilebilir.
Ayrıca, bu seçenekten etkilenen --blocking-io seçeneğine de bakılabilir.
- --rsync-path=UYGULAMA
- Uzak makinede başlangıçta
çalıştırılacak UYGULAMAyı
belirtmek için kullanılır. Çoğunlukla,
rsync’in uzak kabuğun öntanımlı
yolları dışında bulunduğu durumda
kullanılır (--rsync-path=/usr/local/bin/rsync gibi).
UYGULAMA kabuk tarafından
çalıştırılacağından
herhangi bir uygulama, betik ya da bir dizi komut olabilir. Bir dizi komut
belirtiyorsanız rsync’in iletişimde
kullanacağı standart girdi ve standart
çıktının devre dışı
kalmamasına dikkat edilmelidir.
Aşağıdaki örnekte uzak makinede --relative seçeneği ile kullanmak için farklı bir öntanımlı dizin belirtilmektedir:
rsync -avR --rsync-path="cd /a/b && rsync" konak:c/d /e/
- -M, --remote-option=SEÇENEK
- Bu seçenek, belli etkilerin aktarımın sadece bir tarafıyla sınırlanmasının istendiği ileri düzey durumlarda kullanılır. Örneğin, --log-file=DOSYA ve --fake-super seçenekleri uzak sisteme aktarılmak istenirse, şöyle belirtilebilir:
rsync -av -M --log-file=foo -M --fake-super kaynak/ hedef/
- Normalde her iki tarafı da etkileyen bir seçeneğin, aktarımın sadece yerel tarafını etkilemesi istenirse uzak tarafa bir red gönderilebilir:
rsync -av -x -M --no-x kaynak/ hedef/
- Bu kullanılırken dikkatli olunmalıdır,
çünkü rsync’in soket üzerinden hangi
verilerin bekleneceği konusunda farklı bir fikre sahip
olmasına neden olacak ve anlaşılmaz bir nedenle
başarısız kılacak bir seçeneği
açıp kapamak mümkündür.
Aktarmak istediğiniz her uzak seçenek için ayrı bir -M seçeneği kullanmanız gerektiğini unutmayın. Daha eski rsync sürümlerinde, uzak seçenek girdisi içinde herhangi bir boşluğun varlığı, onun ayrı ayrı uzak girdilere bölünmesine neden olabilir, ancak günümüz rsync’inde bu durum --old-args kullanımını gerektirir.
Yerel aktarım açısından, "yerel" taraf gönderici, "uzak" taraf alıcıdır.
Popt seçenek çözümleme kütüphanesinin bazı sürümlerinde, içinde eşit imi bulunan bir seçeneğin, kısa bir seçenek harfine bitişik olarak kullanılmasını (-M--log-file=/tmp/foo gibi) engelleyen bir yazılım hatası vardır. Kullanılan popt sürümünü etkileyen böyle bir hata varsa, rsync ile birlikte gelen popt sürümü kullanılabilir.
- -C, --cvs-exclude
- Sistemler arasında aktarımı istenmeyen geniş
bir dosya kümesinin dışlanması için bir
kısayol olarak kullanışlıdır.
CVS’nin yoksayılacak dosyaları saptamakta
kullandığı algoritma kullanılır.
Dışlama listesi aşağıdakilerle ilklendirilir (bunlar kolay bozulan olarak imlenir - bkz: SÜZME KURALLARI):
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/ .git/ .hg/ .bzr/
$HOME/.cvsignore içindeki dosyalarla CVSIGNORE ortam değişkeninde (tüm isimler bir boşlukla ayrılarak belirtilir) listelenen her dosya aralarına boşluk konarak bu listeye eklenir.
Son olarak, .cvsignore dosyası ile aynı dizindeki dosyalardan .cvsignore dosyasında listelenmiş kalıplarla eşleşen dosyalar yok sayılır. rsync’in süzme ve dışlama uyguladığı dosyaların aksine bu kalıplar boşluklarla ayrılır. Daha fazla bilgi için cvs(1) sayfasına bakınız.
Bu seçenek --filter kurallarıyla birlikte belirtilirse, -C seçeneğinin komut satırının neresinde olduğuna bakılmaksızın, CVS dışlananları --filter kurallarının sonuna eklenir. Bu, onlara --filter kurallarına göre daha düşük öncelik verir. CVS dışlananlarının --filter kurallarına nasıl ekleneceği belirlenmek istenirse, -C seçeneği, komut satırında değil --filter=:C veya --filter=-C biçeminde --filter seçeneğinin bir uzantısı olarak belirtilebilir (bu, komut satırında belirtilebileceği gibi süzme dosyasına ":C" ve "-C" kuralları yerleştirilerek de belirtilebilir). İlk kural her dizinde .cvsignore dosyalarına bakılmasını, ikinci kural ise yukarıda bahsedilen CVS dışlananlarının bir kereliğine dahil edilmesini sağlar.
- -f, --filter=KURAL
- Bu seçenek aktarılacak dosyalar listesinden belli
dosyaların seçilerek dışlanması
için kurallar eklemenizi mümkün kılar. Bu
seçenek alt dizinlerin ardışık
aktarıldığı aktarımlarda
kullanıldığında çok
yararlıdır.
Dışlanacak dosyaların listesini oluşturmak içim komut satırında çok sayıda --filter seçeneği belirtebilirsiniz. KURAL boşluk karakterleri içeriyorsa, kabuğun kuralı tek bir terim olarak aktarabilmesi için tırnak içine alınması gerekir. Kılavuzun devamında belirtildiği gibi, kuralı girdileriyle ilişkilendirmek için boşluk yerine alt çizgi konulabilir.
Bu seçenek hakkında daha ayrıntılı bilgi için bkz: SÜZME KURALLARI
- -F
- Bu seçenek iki defa belirtildiğinde komuta iki --filter kuralı eklemeye eşdeğerdir. İlk seçenek şu kuralı ekler:
--filter=’: /.rsync-filter’
- Bu kural, rsync’in dizin hiyerarşisi dahilinde serpiştirilmiş .rsync-filter dosyalarına bakmasını ve aktarımda bu dosyalardaki süzme kurallarını kullanmasını sağlar. -F seçeneği ikinci kez kullanılmışsa şu kuralı uygular:
--filter=’- .rsync-filter’
- Bu kural .rsync-filter dosyalarının kendilerinin
aktarımdan dışlanmasını sağlar.
Bu seçenek hakkında daha ayrıntılı bilgi için bkz: SÜZME KURALLARI
- --exclude=KALIP
- Bu seçenek bir dışlama kuralı
tanımlanmasını sağlayan --filter
seçeneğinin basitleştirilmiş bir
biçimidir. Seçenek, normal süzme
kurallarının kural çözümleme
sözdizimine izin vermez.
Bu seçenek hakkında daha ayrıntılı bilgi için bkz: SÜZME KURALLARI
- --exclude-from=DOSYA
- Bu seçenek, dışlama kurallarının
belirtilen dosyadan alınmasını
sağlaması dışında --exclude
seçeneğinin benzeridir. DOSYA içindeki
boş satırlar, ’;’ veya
’#’ ile başlayan satırlar
yoksayılır.
DOSYA olarak - belirtilmişse, liste standart girdiden okunur.
- --include=KALIP
- Bu seçenek bir içerme kuralı
tanımlanmasını sağlayan --filter
seçeneğinin basitleştirilmiş bir
biçimidir. Seçenek, normal süzme
kurallarının kural çözümleme
sözdizimine izin vermez.
Bu seçenek hakkında daha ayrıntılı bilgi için bkz: SÜZME KURALLARI
- --include-from=DOSYA
- Bu seçenek, içerme kurallarının belirtilen
dosyadan alınmasını sağlar. DOSYA
içindeki boş satırlar, ’;’ veya
’#’ ile başlayan satırlar
yoksayılır.
DOSYA olarak - belirtilmişse, liste standart girdiden okunur.
- --files-from=DOSYA
- Bu seçeneği kullanarak aktarılacak dosyaların tam listesi belirtilebilir. Liste DOSYAdan ya da "-" belirtilmişse standart girdiden okunur. Ayrıca, bu seçenekle birlikte öntanımlı uygulanan seçeneklere bağlı olarak rsync’in öntanımlı davranışı kolayca değiştirilebilir:
- ○
- --relative (-R) seçeneği uygulanarak DOSYA içindeki her öğede belirtilen yol bilgisi korunmuştur (bu davranışı kapatmak için --no-relative veya --no-R seçeneği kullanılmalıdır).
- ○
- --dirs (-d) seçeneği uygulanarak listede belirtilen dizinlerin atlanmayıp, hedefte oluşturulması sağlanmıştır (bu davranışı kapatmak için --no-dirs veya --no-d seçeneği kullanılmalıdır).
- ○
- --archive (-a) seçeneği uygulanmasına rağmen bu seçeneğin uygulamalarından biri olan --recursive (-r) seçeneği uygulanmadığından, bu davranışın uygulanması istenirse --recursive (-r) seçeneğinin ayrıca belirtilmesi gerekir.
- ○
- Yan etkiler rsync’in öntanımlı durumunu değiştirir. Bu nedenle komut satırındaki --files-from seçeneğinin konumunun diğer seçeneklerin çözümlenişiyle hiçbir ilgisi yoktur (örneğin, -a seçeneği, --files-from seçeneğinin öncesinde de sonrasında da aynı biçimde çalışır).
- DOSYA’dan okunan dosya isimlerinin hepsi kaynak dizine göre değerlendirilir; öğelerin başındaki "/"lar ile daha üst dizinlere çıkılmasını sağlayan "../"lar kaldırılır. Örnek:
rsync -a --files-from=/tmp/foo /usr uzak:/yedek
- /tmp/foo içinde "bin" (hatta
"/bin") diye bir girdi varsa, /usr/bin dizini
hedefte /yedek/bin dizini olarak oluşturulur. Dizin
"bin/" olarak içeriliyorsa (sondaki
/’a dikkat), 2.6.4 ve üstü
sürümlerde /usr/bin dizinindeki dosyalar da
aktarılır. Her iki durumda da -r
(ardışıklık) seçeneği
belirtilmişse dizinin tüm hiyerarşisi
aktarılır (-a seçeneği
tarafından uygulanmadığından -r
seçeneğinin açıkça --files-from
seçeneği ile birlikte belirtilmesi gerektiği
unutulmamalıdır). Ayrıca -r
seçeneğinin etkisinin (öntanımlı olarak
etkindir) yalnızca dosyadan okunan yol bilgisini yinelemek
olduğu da unutulmamalıdır - ancak, kaynak için
belirtilmiş yolun yinelenmesine zorlamaz (örnekte
/usr)
Ek olarak, eğer DOSYA’yı "uzak:" öneki ile belirtirseniz, bu dosya yerel konaktan değil, uzak konaktan okunur (konak eşleştirmesi aktarımın sonunda yapılır). Bir kısaltma olarak, "aktarımın yapıldığı uzak konak" anlamında sadece ":" önekini de kullanabilirsiniz. Örnek:
rsync -a --files-from=:/yol/dosya-listesi uzak:/ /tmp/kopya
- Bu komut "uzak" makinesindeki /yol/dosya-listesi
dosyasında listelenmiş dosyaları
kopyalayacaktır.
--iconv ve --protect-args seçenekleri belirtilmişse ve --files-from seçeneği dosyaları bir konaktan diğerine gönderiyorsa aktarılan dosyaların karakter kümesi, gönderen konağın karakter kümesinden alıcı konağın karakter kümesine dönüştürülür.
- Bilgi:
- --files-from girdisindeki dosya listesini sıralamak, bitişik girdiler arasında paylaşılan yol öğelerinin yeniden ziyaretinden kaçınılacağından rsync’in daha verimli olmasına yardımcı olur. Giriş sıralanmazsa, bazı yol öğeleri (örtük dizinler) birden çok kez taranabilir ve rsync, bunları eninde sonunda dosya listesi öğelerine dönüştürerek tekilleştirir.
- -0, --from0
- Bu seçenek rsync’e, bir dosyadan okunan dosya isimlerinin sonlandırılmasının satır sonu karakteri (LF) veya satır başı karakteri (CR) ya da her bu ikisinin birlikte kullanılmasıyla (CR+LF) değil sadece boş karakterle (’\0’) yapıldığını belirtir. Bu seçenek --exclude-from, --include-from, --files-from ve --filter kuralı ile belirtilen dosyaları etkiler. Dosya isimlerinin boşluk ile ayrıldığı .cvsignore dosyalarını kullanan --cvs-exclude seçeneğini etkilemez.
- --old-args
- rsync’e uzak taraftaki girdi değerlerini istenmeyen
sözcük ayrıştırmasından veya
diğer yanlış yorumlamalardan korumaya
çalışmayı bırakmasını
söyler.
Günümüz rsync’inde öntanımlı olan, uzak kabuğa gönderilen girdilerde kabuğun özel karakterlerinin (boşluklar dahil) ters eğik çizgi ile öncelenmesidir. *, ?, [, ] joker karakterleri , --usermap gibi seçenek girdilerinde öncelenirken dosya adı girdilerinde öncelenmez (birden çok dosya adına genişlemeleri sağlanır).
Dosya adlarında eski tarz sözcük ayrıştırması bir betikle yapılıyorsa, bu seçenek bir kez belirtilir. Uzak kabukta ters eğik çizgi öncelemesi sorunluysa, iki kez belirtilir.
Bu seçenek yerine RSYNC_OLD_ARGS ortam değişkeni de kullanılabilir. Ortam değişkenin değeri "1" ise rsync öntanımlı olarak tek seçenekli, "2" veya daha büyük ise, rsync öntanımlı olarak yinelenen seçenek durumuna geçer. "0" ise, öntanımlı önceleme davranışı elde edilir. Ortam değişkeninin değeri, komut satırından belirtilen olumlu veya olumsuz seçenekler tarafından geçersiz kılınabilir (--no-old-args olumsuz seçenektir).
Bu seçenek --protect-args seçeneğiyle birlikte kullanılamaz.
- -s, --protect-args
- Bu seçenek, tüm dosya adlarını ve
çoğu seçeneği rsync’e uzak
kabukta yorumlamamak üzere gönderir. Joker karakterler, uzak
konakta kabuk yerine rsync tarafından genişletilir.
Bu, 3.2.4’te eklenen, girdilerin yeni tarz ters eğik çizgi öncelemesine benzer, ancak bazı ek özellikler de desteklenir ve işlem, uzak kabuktaki ters eğik çizgi öncelemesine bırakılmaz.
Bu seçenek --iconv ile birlikte kullanıldığında, uzak taraftaki ilgili girdilerin karaktar kümesi yerelinkinden uzağınkine dönüştürülür. Bu dönüşüm joker karakterler genişletilmeden önce yapılır. Ayrıca bkz: --files-from.
Bu seçenek yerine RSYNC_PROTECT_ARGS ortam değişkeni de kullanılabilir. Sıfırdan farklı bir değer atanırsa işlem öntanımlı olarak etkin olur, aksi takdirde öntanımlı olarak etkin olmaz. Ortam değişkeninin değeri, komut satırından belirtilen olumlu veya olumsuz seçenekler tarafından geçersiz kılınabilir (--no-s ve --no-protect-args olumsuz seçeneklerdir). Bu ortam değişkeni ayrıca sıfırdan farklı bir değerle atanmış RSYNC_OLD_ARGS ortam değişkeni tarafından da geçersiz kılınabilir.
3.0.0 öncesi bir rsync ile etkileşirken bu seçeneği iptal etmeniz gerekebilir.
Bu seçenek --old-args seçeneği ile birlikte kullanılamaz.
Bu seçeneğin, seçenekleri betiğin incelemesinden gizleyen kısıtlı rsync betiğinin (rrsync) kullanımıyla uyumlu olmadığını unutulmamalıdır.
- --copy-as=KULLANICI[:GRUP]
- Bu seçenek, kopyalama işlemleri için
rsync’e KULLANICI’yı ve (iki nokta
üst üste belirtilmişse) GRUP’u
kullanmasını söyler. Bu, yalnızca
rsync’i çalıştıran
kullanıcının kullanıcıları
değiştirme yeteneği varsa
çalışır. GRUP belirtilmemişse,
kullanıcının öntanımlı grubu
kullanılır.
Bu seçenek, sistem dosyalarının root yetkileriyle okunup yazılmadığından emin olunmak istenmesi durumunda ve rsync’in, üzerinde anlık değişiklikler olabilecek bir dizinde root olarak dizin içinden veya dışından çalıştırılma riskini azaltmaya yardımcı olabilir. Seçenek, bazen root seviyesinde konak erişim yetkilerinin kullanımına ihtiyaç duyulan bir ortamda rsync’i belirtilen kullanıcı olarak çalıştırabilmeyi mümkün kılar. Böylece, uzak kabuk veya artalan süreci bağlantısından sonra kopyalama aşaması için rsync’in root yetkilerini belirtilen kullanıcya terketmesi sağlanabilir.
Seçenek, aktarım yerelken iki tarafıda etkilerken yerel olmadığı durumda yalnızca yerel tarafı etkiler. Uzak tarafı etkilemek için --remote-option kullanılır. Yerel aktarım için, aktarımın uzak tarafını etkileyen seçenekleri belirtmek için "localhost:" veya "lh:" konak belirtiminin kullanımına olanak sağlayan (rsync paketinin support dizinindeki) lsh (veya lsh.sh) destek betiği kullanılabilir.
Örneğin, aşağıdaki komut root aidiyetinde çalıştırılmakta fakat yerel dosyaları "veli" kullanıcısı yazmaktadır:
sudo rsync -aiv --copy-as=veli konak1:backups/veli/ /home/veli/
- Bu, tüm dosyaların sahibini ve grubunu "veli"
yapar ve veli kullanıcısının
değişiklik yapma yetkisinin olmadığı
bir dosyada değişiklik başlatmak için
zamanlı saldırı yapmasını
imkansız hale getirir.
Aşağıdaki root aidiyetinde çalıştırılan komutta "veli" kullanıcısı olarak hedef/ dizinine yerel kopyalama yapılmaktadır (support/lsh betiğinin $PATH dizinlerinde bir yere kopyalanmış olduğu varsayılmaktadır):
sudo rsync -aive lsh -M--copy-as=veli kaynak/ lh:hedef/
- -T, --temp-dir=DİZİN
- Bu seçenek, aktarılan dosyaların alıcı
tarafta geçici kopyaları oluşturulurken
DİZİN’in çalışma dizini
olarak kullanmasını sağlar.
Öntanımlı davranış, her geçici
dosyayı ilişkili hedef dosyanın bulunduğu
dizinde oluşturmaktır. rsync 3.1.1 ve
sonrasında, belirtilen DİZİN içindeki
geçici dosya adlarının önüne fazladan
bir nokta eklenmez (yine de bunlara rastgele bir sonek eklenir).
Bu seçenek çoğunlukla, alıcı disk bölümünde aktarımdaki en büyük dosyanın bir kopyasını tutacak kadar yer olmadığında kullanılır. Bu durumda (yani, göndericinin dizini farklı bir disk bölümünde olduğunda), rsync alınan her geçici dosyayı adını değiştirerek ilişkili hedef dosyanın üstüne yazamaz, geçici dosya yapmadan dosyayı yerine kopyalaması gerekir. Bu durumda, hedef dosya, kopyalama sırasında kırpılan verileri de içerir. Bu şekilde yapılmasaydı (hedef dosya önce silinse, veriler hedef dizindeki geçici bir dosyaya yerel olarak kopyalanıp sonra bu dosya silinenin yerine aktarılsaydı) eski dosya diskte yer kaplamaya devam eder (birisi zaten açmışsa) ve bu nedenle aynı anda diskte yeni sürümü sığdırmak için yeterli yer olmayabilirdi.
Bu seçenek disk alanı yetersizliği dışında bir nedenle kullanılıyorsa, --delay-updates seçeneğiyle birlikte kullanmak iyi olabilir; bu, kopyalanan tüm dosyaların hedef hiyerarşisindeki alt dizinlere yerleştirilmesini ve aktarımın bitmesinin beklenmesini sağlayacaktır. Hedef bölüme gelen tüm dosyaların kopyalarını yapmak için yeterli alanınız yoksa, rsync’e disk alanı hakkında fazlaca endişe duyulmadığını söylemenin başka bir yolu, göreli bir yol belirten --partial-dir seçeneğini kullanmaktır; Bu, rsync’e hedef hiyerarşideki bir alt dizinin, tek bir dosya kopyasını saklamak için uygun olduğunu söylediğinden, rsync, belirtilen dizini kopyalanan dosyayı getirmek için bir hazırlama alanı olarak kullanacak ve ardından onu yeniden adlandırarak yerine yazacaktır. (--partial-dir seçeneğine mutlak bir yol belirtmenin böyle bir yan etkisi yoktur.)
- -y, --fuzzy
- Bu seçenekle, hedefte bulunmayan her dosya için benzer bir
dosya aranacağı belirtilir. Şimdiki algoritma, hedef
dosya için aynı dizinde, aynı boyda ve aynı
değişiklik zamanlı ya da aynı isimli bir dosya
arar. Böyle bir dosya varsa, bu dosya bulanık bir hedef
dosya olarak aktarımın
hızlandırılması amacıyla
kullanılır.
Seçenek tekrarlanırsa, bulanık tarama, --compare-dest, --copy-dest veya --link-dest seçenekleriyle belirtilenlerle eşleşen diğer hedef dizinlerde de yapılır.
- Bilgi:
- --delete seçeneği bu amaçla kullanılabilecek bir dosyanın işlem öncesinde silinmesine yol açabileceğinden, dosyanın silinmemesi için, bu seçenek yerine ya --delete-after seçeneği kullanılmalı ya da uygun bir dışlama kuralı belirtilmelidir.
- --compare-dest=DİZİN
- Bu seçenekle, alıcı makinede hedef dizinde olmayan
dosyalar için karşılaştırmanın
DİZİNe göre yapılacağı
belirtilir. Eğer DİZİN içinde
göndericideki dosyanın aynısı varsa bu dosya
aktarılmaz. Bu, sadece bir önceki yedeklemeden beri
değişmiş dosyaların yedeklenmesi için
kullanışlıdır. Bu seçenek genellikle
dosyaları boş (veya yeni oluşturulan) bir dizine
kopyalamak için kullanılır.
rsync 2.6.4 ve sonrasında, çok sayıda --compare-dest dizini belirtilebilmektedir. Sadece öznitelikleri uyuşmayan bir dosya bulunursa, yerel bir kopya yapılıp öznitelikleri güncellenir. Eğer bir eşleşme bulunamazsa, işlemi hızlandırmak için bu DİZİNlerin birinden temel bir dosya seçilir.
Eğer DİZİN göreli belirtilmişse hedef dizine göreli olduğu kabul edilir. Ayrıca bkz: --link-dest ve --copy-dest
- Bilgi:
- 3.1.0 ve üstü sürümlerde, belirtilen diğer --compare-dest DİZİNlerde tam bir eşleşme bulunması durumunda boş olmayan hedef dizinlerden (nihai sonucun yeni bir kopyayla daha iyi eşleşmesini sağlamak için) bir dosya silinir.
- --copy-dest=DİZİN
- Bu seçenek --compare-dest gibi davranır, ancak
rsync ayrıca DİZİN’de bulunan
değişmemiş dosyaları yerel bir kopya
kullanarak hedef dizine kopyalar. Bu, mevcut dosyaları
olduğu gibi bırakırken yeni bir hedefe aktarım
yapmak ve ardından tüm dosyalar başarıyla
aktarıldığında hızlıca bir
geçiş yapmak için
kullanışlıdır.
Çok sayıda --copy-dest DİZİNi belirtilebilir, bu da rsync’in değişmemiş bir dosyayı listede belirtilen sırada aramasına neden olur. Bir eşleşme bulunamazsa, aktarımı hızlandırmak için DİZİN’lerden birinden temel bir dosya seçilir.
DİZİN göreli bir yol belirtiyorsa hedef dizine görelidir. Ayrıca bkz --compare-dest ve --link-dest.
- --link-dest=DİZİN
- Bu seçenek, DİZİN içindeki değişmemiş dosyaların hedef dizine sabit bağlı yapılması dışında --compare-dest seçeneği gibi davranır. Sabit bağlı yapılacak dosyalar öznitelikleri (izinler, sahipler, v.s) bakımından kaynaktakilerle tamamen aynı olmalıdır. Örnek:
rsync -av --link-dest=$PWD/öndizin konak:kaynak/ yeni/
- Dosyalar bağlanmıyorsa, özniteliklerine en az iki kez
bakılmalıdır. Ayrıca bazı
özniteliklerin rsync’in denetimi
dışında zorlanıp
zorlanmadığına da bakılmalıdır,
örneğin kök dizini tek bir kullanıcıya
zorlayan veya çıkarılabilir bir
sürücü soysal sahiplikle bağlayan bir mount
seçeneği (OS X’in "Bu birimde sahipliği
yoksay" seçeneği gibi).
2.6.4 sürümünden başlayarak, çok sayıda --link-dest dizini belirtilebilmektedir. Bu da rsync’in tam eşleşme için listeyi belirtilen sırayla aramasına neden olur (bu türde 20 dizinlik sınır vardır). Yalnızca niteliklerde farklılık gösteren bir eşleşme bulunursa, yerel bir kopya yapılır ve nitelikler güncellenir. Bir eşleşme bulunamazsa, aktarımı hızlandırmak için DİZİN’lerin birinden temel bir dosya seçilecektir.
Bu seçenek en çok boş bir hedef hiyerarşisine kopyalama yaparken işe yarar, çünkü mevcut dosyaların öznitelikleri değiştirilebilir ve bu da diğer hedef dosyaları sabit bağlar yoluyla etkileyebilir. Ayrıca, değişikliklerin ayrıntılandırılması biraz karışık olabilir. 3.1.0 sürümünden önce, bir hedef dosya zaten mevcut olduğunda, başka bir dizinle tam bir eşleşmenin asla sağlanamayacağı (veya hedefe bağ oluşturulamayacağı) unutulmamalıdır.
- Bilgi:
- Bu seçenek --ignore-times ile birlikte kullanılırsa, rsync hiçbir dosyayı birbirine bağlamayacaktır, çünkü dosyanın aktarılması için yedek olarak sadece eş dosyalar birbirine bağlanır, dosya güncellendikten sonra asla ek bir denetim yapılmaz.
- DİZİN göreli bir yol belirtiyorsa hedef dizine
görelidir. Ayrıca bkz: --compare-dest ve
--copy-dest.
2.6.1 sürümünden önceki sürümlerde, -o seçeneği (-a seçeneği de bu seçeneği uygular) belirtilmişse, --link-dest seçeneği root olmayan bir kullanıcı için istendiği gibi çalışmayacaktır (yazılım hatası). Bu hatadan korunmak için böyle bir rsync ile gönderimde -o seçeneği kullanılmamalıdır.
- -z, --compress
- Bu seçenekle gönderilen dosyaların verileri,
aktarım miktarını azaltmak için
sıkıştırılır. Özellikle,
yavaş bağlantılar için çok
yararlıdır.
Rsync çok sayıda sıkıştırma yöntemini desteklemektedir, --compress-choice (--zc) seçeneği ile zorlanmadıkça birini otomatik olarak seçecektir.
Derleme sırasında seçilmiş sıkıştırma algoritmalarının listesi rsync --version komutu ile görüntülenebilir.
Aktarım sırasında her iki tarafta da 3.2.0 veya üstü bir sürüm kullanılıyorsa, istemcinin ve sunucunun algoritma listesinden ilk algoritmaları ayrı ayrı seçer. Ortak bir sıkıştırma algoritması bulunamazsa rsync hata vererek çıkar. Uzak rsync sağlama toplamı uzlaşımını desteklemek için çok eski ise listesinde "zlib" bulunduğu varsayılır.
Öntanımlı sıra, RSYNC_COMPRESS_LIST ortam değişkenine kabul edilebilir algoritma isimleri boşluk ayraçlı sıralanarak özelleştirilebilir. Algortima isimleri & içeriyorsa "istemci dizgesi & sunucu dizgesi" biçeminde oluşturulduğu varsayılır, aksi takdirde aynı dizge her iki tarafa da uygulanır. Dizge (veya bir kısmı) boşluk olmayan karakterler içermiyorsa öntanımlı sıkıştırma listesi kullanılır. Listedeki bilinmeyen algoritma isimleri iptal edilir, ancak liste tamamen geçersiz isimlerden oluşuyorsa uzlaşım başarısız olur.
Bazı eski rsync sürümleri öntanımlı zlib sıkıştırma yöntemi ile uyumsuz olduklarında -zz seçeneğinin kullanımı gerektirecek şekilde yapılandırıldıklarından -z seçeneğinin kullanımını reddeder. rsync sunucusu, açıkça -zz belirtilmesi gerektiği konusunda uyarmadıkça bu tuhaflık yok sayılabilir.
- -zc, --compress-choice=DİZGE
- Bu seçenek, --compress
kullanıldığında yapılan otomatik
sıkıştırma algoritması
uzlaşımını geçersiz kılmak
için kullanılabilir. Örtük olarak
--no-compress uygulanmasını sağlayan
"none" belirtilmedikçe bu seçenek
örtük olarak --compress seçeneğinin
uygulanmasını sağlar.
Kullanılabilen sıkıştırma seçenekleri:
zstd lz4 zlibx zlib none
- Derleme sırasında seçilmiş
sıkıştırma algoritmalarının
listesi rsync --version komutu ile
görüntülenebilir (yukarıdaki listeden
farklı olabilir).
--old-compress veya --new-compress seçeneği hakkında bir hata görürseniz, daha fazla rsync sürümünün tanıdığı --compress-choice=zlib veya --compress-choice=zlibx seçeneği geriye uyumluluk adına gönderilmeye çalışılıyor demektir. Bu hata, sunucudaki eski rsync sürümünün sıkıştırma türünü zorlamanıza izin vermeyeceğini gösterir.
"zlibx" sıkıştırma algoritmasının, (harici bir zlib gerçeklenimiyle uyumlu hale gelebilmesi için) eşleşen verilerin sıkıştırma akımına dahil edilmediği bir "zlib" algoritması oluşuna dikkat edilmelidir.
- -zl, --compress-level=SAYI
- Öntanımlı sıkıştırma
seviyesi yerine kullanılacak sıkıştırma
seviyesini (bkz: --compress, -z) doğrudan
tanımlamak için kullanılır. --compress
seçeneği, geçerli olan
sıkıştırma algoritması için
"sıkıştırma yapılmayan"
seviye seçilmediği sürece örtük olarak
uygulanır (örneğin, zlib
sıkıştırması, 0. seviyeyi
"sıkıştırma yapılmayan"
seviye olarak değerlendirir).
Seviye değerleri etkin olan sağlama toplamına bağlı olarak değişiklik gösterir. Çünkü rsync öntanımlı olarak bir sağlama toplamı seçiminde (uzak rsync yeterince yeni bir sürümse) uzlaşım arayacaktır. Geçerli seçimden emin olunamıyorsa, bu seçeneği bir --compress-choice (--zc) seçeneğiyle birlikte kullanmak iyi olabilir. Örnek:
rsync -aiv --zc=zstd --zl=22 konak:kaynak/ hedef/
- zlib ve zlibx
sıkıştırmaları için
geçerli değerler 1’den 9’a kadar olup 6
öntanımlı değerdir. --zl=0 belirtilirse
sıkıştırma yapılmaz. --zl=-1 ile
öntanımlı olan 6. seviye
sıkıştırma uygulanır.
zstd sıkıştırması için geçerli değerler -131072’den 22’ye kadar olup 3 öntanımlı değerdir. SAYI olarak 0 belitilirse öntanımlı öntanımlı olan 3. seviye sıkıştırma uygulanır.
lz4 sıkıştırması için geçerli bir değer yoktur, dolayısıyla değer daima 0 olur.
Çok küçük ya da çok büyük bir değer belirtilirse sayı sessizce geçerli değerle sınırlanır. Bu, --zl=999999999 gibi bir değer belirtilmeye ve hangi algoritma seçilirse seçilsin azami sıkıştırma seviyesine ulaşmaya olanak tanır.
Etkin olan sıkıştırma seviyesini sorgulamak ve "uzlaşılan dizge" sonuçlarını görüntülemek için --debug=nstr belirtilebilir. Bu, (etkin sağlama toplamı seçimi ile birlikte) "Client compress: zstd (level 3)" benzeri bir dizge çıktılar.
- Bilgi:
- Her dosya için ayrı ayrı sıkıştırma değişikliği desteği olan herhangi bir yöntem yoksa bu seçeneğin de herhangi bir etkisi yoktur.
- Çok az sıkıştırılabilecek dosya
soneklerini içeren LİSTEyi geçersiz
kılar. rsync, her dosya için
sıkıştırma düzeyini dosyanın
sonekine göre ayarlar. Sıkıştırma
algoritmasının "sıkıştırma
yapılmayan" seviyesi varsa, bu dosyalar için
sıkıştırma gerçekleşmez.
Akım seviyesinde anında seviye değiştirmeyi
destekleyen diğer algoritmalar, eşleşen her dosya
için işlemci kullanımını
mümkün olduğunca azaltmak için seviyeyi en aza
indirecektir.
LİSTE eğik çizgilerle (/) ayrılmış birden fazla dosya soneki içerebilir. Hiçbir dosyanın atlanmayacağını belirtmek için değer olarak boş dizge ("") verilebilir.
Basit karakter sınıfı eşleşmesi desteklenmektedir. Örneğin "[:alpha:]" sınıfından başka birşey belirtilmezse ’-’ karakterinin özel bir anlamı olmaz.
Yıldız (*) ve soru iminin (?) özel anlamları vardır.
Aşağıdaki örnekte atlanacak 6 sonek belirtilmektedir (mp[34] iki sonekle eşleşir):
--skip-compress=gz/jpg/mp[34]/7z/bz2
- rsync tarafından bu sürümde desteklenen
sıkıştırılmayacak dosyaların
öntanımlı sonek listesi:
3g2 3gp 7z aac ace apk avi bz2 deb dmg ear f4v flac flv gpg gz iso jar jpeg jpg lrz lz lz4 lzma lzo m1a m1v m2a m2ts m2v m4a m4b m4p m4r m4v mka mkv mov mp1 mp2 mp3 mp4 mpa mpeg mpg mpv mts odb odf odg odi odm odp ods odt oga ogg ogm ogv ogx opus otg oth otp ots ott oxt png qt rar rpm rz rzip spx squashfs sxc sxd sxg sxm sxw sz tbz tbz2 tgz tlz ts txz tzo vob war webm webp xz z zip zst
Bu listenin yerini, biri hariç tüm durumlarda LİSTE alacaktır: rsync artalan sürecinden alınan bir kopya, LİSTEye eklenir (artalan sürecinin listesi farklı bir öntanımlı liste ile yapılandırılabilir).
- --numeric-ids
- Bu seçenekle rsync, her iki uçta
kullanıcı ve grup isimlerini değil,
kullanıcı ve grup kimliklerini eşleştirmeye
çalışacaktır.
Öntanımlı olarak rsync, dosyaların sahibini belirlemekte kullanıcı ve grup isimlerini kullanır. Özel kullanıcı ve grup kimliği olan 0 kimliği, bu seçenek belirtilmemiş olsa bile, kullanıcı ve grup isimleriyle asla eşleştirilmez.
Eğer kullanıcı ve grup yerelde herhangi bir isimle eşleşmiyorsa veya hedefte bir eşleşme yoksa, bunların yerine kaynak sistemdeki kullanıcı ve grup kimlikleri kullanılır. chroot ayarlarının rsync’in kullanıcı ve grup isimlerini arama yeteneklerini nasıl etkilediğini ve bunların nasıl değiştirebileceği hakkında bilgi için bkz: rsyncd.conf(5) kılavuz sayfasındaki use chroot modül seçeneğinin açıklaması.
- --usermap=DİZGE, --groupmap=DİZGE
- Bu seçenekler, alıcı tarafın diğer değerlere eşlenmesi gereken kullanıcıları ve grupları belirlemesine olanak tanır. DİZGE, virgülle ayrılmış bir veya daha fazla GÖNDEREN:ALAN değer çiftidir. Göndericiden gelen herhangi bir eşleşen GÖNDEREN değeri, alıcıdan gelen bir ALAN değeri ile değiştirilir. GÖNDEREN ve ALAN değerleri için kullanıcı adları veya kullanıcı kimlikleri belirtebilirsiniz ve GÖNDEREN değeri, gönderenin adlarıyla eşleştirilecek bir joker karakter dizisi de olabilir (joker karakterler kimlik numaralarıyla eşleşmez, ancak ’*’ iminin neden her şeyle eşleştiğini görmek için aşağıya bakın). Bunun yerine, bir kimlik numarası aralığı belirtebilirsiniz: DÜŞÜK-YÜKSEK. Örnek:
--usermap=0-99:nobody,wayne:admin,*:normal --groupmap=usr:1,1:usr
- Listedeki ilk eşleşme kullanılan
eşleşmedir. Tüm kullanıcı
eşlemeleri tek bir --usermap seçeneği
kullanılarak ve/veya tüm grup eşlemeleri tek bir
--groupmap seçeneği kullanılarak
belirtilmelidir.
0 kullanıcısı ve grubu için gönderici adının alıcıya iletilmediğine dikkat edilmelidir, bu nedenle ya 0 kullanarak bu değerleri eşleştirmelisiniz ya da alıcı tarafta geçerli olan adları kullanmalısınız (genelde "root"). Diğer tüm GÖNDEREN adları, gönderen tarafta kullanılanlarla, tüm ALAN adları, alıcı tarafta kullanılanlarla eşleşir.
Gönderen tarafta adı olmayan tüm kimlikler, eşleştirme amacıyla boş ad olarak değerlendirilir. Bu, bir "*" ile veya boş ad kullanılarak eşleştirilmelerine olanak tanır. Örneğin:
--usermap=:nobody --groupmap=*:nobody
- ---numeric-ids seçeneği
kullanıldığında, gönderici
hiçbir ad göndermez, bu durumda tüm kimliklerin
boş ada sahip olduğu varsayılır. Adsız
kimlikler farklı değerlerle eşleştirilmek
istenirse GÖNDEREN olarak bu sayısal kimlikleri
belirtmek gerekir.
--usermap seçeneğinin çalışması için alıcının ayrıcalıklı kullanıcı aidiyetinde çalıştırılması gerekir (bkz: --super ve --fake-super). --groupmap seçeneğinin çalışması için, alıcının grubu atayacak izinlere sahip olması gerekir.
rsync 3.2.4 ve sonrasında, --usermap seçeneği örtük olarak --owner (-o) seçeneğini uygularken --groupmap seçeneği örtük olarak --group (-g) seçeneğini uygular (rsync eşleşme seçeneklerinin çalışması için bu seçeneklerin etkin olmasını gerektirdiğinden).
Eski bir rsync’in joker karakterlerden şikayetini önlemek için --protect-args (-s) kullanımı gerekirken günümüz rsync’leri bunu otomatik olarak halleder.
- --chown=KULLANICI:GRUP
- Bu seçenek, tüm dosyaları GRUP grubundaki
KULLANICI’ya ait olmaya zorlar. Bu, doğrudan
--usermap ve --GroupMap kullanmaktan daha basit bir
arayüzdür, ancak
karıştırılamayacakları için bu
seçenekler kullanılarak gerçeklenmiştir.
KULLANICI veya GRUP boşsa, atlanan
kullanıcı/grup için eşleme olmaz. GRUP
boşsa, iki nokta imi atlanabilir, ancak KULLANICI
boşsa, iki nokta imi bulunmalıdır.
"--chown=foo:bar", belirtilirse "--usermap=*:foo --groupmap=*:bar" belirtmekten farkı yoktur, sadece daha kolaydır (ve örtük olarak --owner ve/veya --group seçenekleri ile aynıdır).
Eski bir rsync’in joker karakterlerden şikayetini önlemek için --protect-args (-s) kullanımı gerekirken günümüz rsync’leri bunu otomatik olarak halleder.
- --timeout=SÜRE
- Bu seçenekle G/Ç zamanaşımını saniye cinsinden belirtebilirsiniz. Belirtilen süre içinde bir aktarım gerçekleşmezse, rsync işlemi sonlandırır. Öntanımlı değer, bir zamanaşımı olmadığını belirten 0 değeridir.
- --contimeout=SÜRE
- Bu seçenek, rsync’in rsync artalan süreciyle bağlantısının başarılı olması için kaç saniye bekleyeceğini belirtmek için kullanılır. Belirtilen süre içinde bir bağlantı gerçekleşmezse, rsync işlemi bir hatayla sonlandırır.
- --address=ADRES
- Öntanımlı olarak rsync, bir rsync
artalan sürecine bağlanırken joker adres
kullanır. --address seçeneği,
bağlanılacak belirli bir IP adresi (veya konak adı)
belirtmeye olanak tanır.
Ayrıca bkz: Artalan süreci için --address seçeneği.
- --port=PORT
- Öntanımlı 873. port yerine kullanılacak portu
belirtmek için kullanılır. URL sözdizimi port
belirtmek için zaten bir yöntem içerdiğinden,
bu sadece bir rsync sunucusuna "::" kullanarak
bağlanıyorsanız gerekir.
Ayrıca bkz: Artalan süreci için --port seçeneği.
- --sockopts=SEÇENEKLER
- Bu seçenek, sistemlerini en üst düzeyde
ayarlamayı seven insanlar için sonsuz eğlence
sağlayabilir. Aktarımları daha hızlı
(veya daha yavaş!) yapabilecek her türlü soket
seçeneğini ayarlayabilirsiniz. Ayarlayabileceğiniz
bazı seçenekler hakkında ayrıntılar
için setsockopt(2) sistem
çağrısının kılavuz
sayfasına bakılabilir. Öntanımlı olarak
hiçbir özel soket seçeneği
ayarlanmamıştır. Bu sadece uzak bir rsync
artalan sürecine doğrudan soket
bağlantılarını etkiler.
Ayrıca bkz: Artalan süreci için --sockopts seçeneği.
- --blocking-io
- Uzak kabuk aktarımı başlatılırken engellenebilen G/Ç kullanılmasını belirtir. Uzak kabuk rsh veya remsh ise, rsync öntanımlı olarak engellenebilen G/Ç, aksi takdirde engellenemeyen G/Ç kullanır (ssh ile engellenemeyen G/Ç tercih edilir).
- --outbuf=KİP
- Çıktı tamponlama kipini belirler. KİP
None (tamponsuz), Line (satır tamponlu) veya Block (Tam tamponlu)
olabilir. Büyük veya küçük tek harfli
kip de belirtilebilir.
Seçeneğin başlıca kullanım amacı, rsync çıktısı bir dosyaya veya boruya yönlendirilirken tam tamponlamadan satır tampolamaya geçmektir.
- -i, --itemize-changes
- Her dosyanın öznitelik değişikliklerini de
içererek yapılmış
değişikliklerin dosyalara göre
ayrıntılı bir listesini almak için
kullanılır. Bu, --out-format=’%i %n%L’
belirtmekle aynıdır. Seçenek tekrarı, 2.6.7 ve
üstü sürümlerde değişmeyen
dosyaların da ayrıca
çıktılanmasını sağlar. 2.6.7
öncesi sürümlerde ise diğer
ayrıntı iletilerinin de
çıktılanmasını sağlayan
-vv kullanılabilir.
"%i" belirtimi 11 karakter uzunlukta şifresel bir çıktıya sahiptir. Genel biçimi YXcstpoguax dizgesine benzer. Burada Y karakteri yapılan güncellemenin çeşidini, X karakteri dosya türünü, diğer karakterler ise güncellenmişlerse öznitelikleri belirten bir karakterle değiştirilir.
Y karakterinin yerini alan güncelleme türleri şunlardır:
< uzak konağa aktarılan (gönderilen) dosya > yerel konağa aktarılan (alınan) dosya c yerel konakta değiştirilen/oluşturulan dosya (bir dizin ya da sembolik bağın oluşturulması gibi). h başka bir öğeye sabit bağ olan öğe (--hard-links gerektirir). . (nokta) güncellenmiş (öznitelikleri değişmiş) dosya * ayrıntılı çıktı alanının geri kalanı bir ileti içeriyor ("siliniyor" gibi).
- X karakterinin yerini alan dosya türleri şunlardır:
f dosya d dizin L sembolik bağ D aygıt S özel dosya (isimli soketler ve isimli borular gibi)
- Dizgenin diğer harfleri dosyanın bazı özniteliklerinin değiştiğini belirtir:
"." Öznitelik değişmedi. "+" Dosya yeni oluşturuldu. " " Hiçbir öznitelik değişmedi (tüm noktalar boşluklara dönüşür). "?" Neyin değiştiği bilinmiyor (uzak rsync eski olduğunda). harf Bir özniteliğin güncellendiğini belirtir.
- Harflerin belirttiği öznitelikler şunlardır:
- c
- Sağlama toplamı farklı normal dosya (--checksum gerektirir) veya değeri değişmiş bir sembolik bağ, aygıt veya özel dosya olduğunu belirtir.
- Bilgi:
- Dosyaların gönderildiği rsync sürümü 3.0.1’den eskiyse sadece sağlama toplamları farklı normal dosyaları belirtir.
- s
- Normal dosyanın boyutlarının farklı olduğunu ve dosyanın aktarımla güncelleneceğini belirtir.
- t
- Değişiklik zamanının farklı olduğunu ve göndericinin değeri ile güncelleneceğini belirtir (--times gerektirir). Bazan bu karakterin yerine T kullanılır ve zamanın aktarım zamanına ayarlanacağını belirtir. T harfi, bir dosya, sembolik bağ veya aygıt --times seçeneği belirtilmeksizin güncellenirken ya da bir sembolik bağ değiştiğinde alıcı zamanını tanımlamıyorsa çıktılanır.
- Bilgi:
- rsync sürümü 3.0.0’dan eskiyse, bu zaman belirleme hatası için tek bir t bayrağı yerine t bayrağı T ile birlikte belirtilmiş olabilir.
- p
- İzinlerin farklı olduğunu ve göndericinin değeri ile güncelleneceğini belirtir (--perms gerektirir).
- o
- Sahiplerin farklı olduğunu ve göndericinin değeri ile güncelleneceğini belirtir (--owner ve ayrıcalıklı kullanıcı yetkileri gerektirir).
- g
- Grupların farklı olduğunu ve göndericinin değeri ile güncelleneceğini belirtir (--group ve grup atama yetkileri gerektirir).
- u
- Erişim zamanının göndericidekinden farklı bir değere güncellendiğini belirtir (--atimes gerektirir).
- n
- Oluşturulma zamanının göndericidekinden farklı bir değere güncellendiğini belirtir (--crtimes gerektirir).
- b
- Erişim ve oluşturma zamanlarının ikisinin de güncellendiğini belirtir.
- a
- ACL bilgisinin değiştiğini gösterir
- x
- Ek öznitelik bilgisinin değiştirğini gösterir.
- Olası diğer bir çıktı daha vardır: Dosyalar silinirken silinen her öğe için "%i" belirteci "*deleting" dizgesini çıktılar (yeterince son sürüm bir rsync ile konuşulduğu ve silme işlemlerini bir ayrıntı olarak çıktılamayıp günlük kaydı tuttuğu varsayımıyla).
- --out-format=BİÇEM
- Bu, rsync istemcisinin kullanıcıya her
güncellemede tam olarak ne
çıktılayacağının tam olarak
belirlenmesini sağlar. BİÇEM, yüzde (%)
imi ile başlayan tek karakterlik öncelemler içeren
bir metin dizgesidir. --info=name veya -v belirtilirse
"%n%L" biçemi
öntanımlıdır (yalnızca dosyanın
adını ve öğenin bir bağ olup
olmadığını çıktılar).
Olası biçemleme karakterlerinin tam listesi için,
rsyncd.conf(5) kılavuz sayfasındaki log format
seçeneğinin açıklamasına
bakılabilir.
Bu seçeneğinin belirtilmesi, önemli bir şekilde güncellenen (aktarılan bir dosya, yeniden oluşturulmuş bir sembolik bağ/aygıt veya dokunulan bir dizin) her dosya veya dizinden vb. bahsedecek olan --info=name seçeneğinin örtük olarak uygulanmasını sağlar. Ek olarak, değişiklikleri ayrıntılı gösterme öncelemi (%i) dizgeye dahil edilirse (--itemize-changes seçeneği kullanılmış gibi), herhangi bir şekilde değiştirilen öğe adları da günlüğe eklenir (alıcı tarafın sürümü en az 2.6.4 olduğu takdirde). %i çıktısının açıklaması için bkz: --itemize-changes
Günlüklemenin aktarımın sonunda yapılmasını sağlayan aktarım istatistiği belirtimlerinden biri belirtilmedikçe rsync, günlük biçemi dizgesini dosyanın aktarımından önce çıktılayacaktır. Bu geç günlükleme etkin olduğunda ve ayrıca --progress seçeneği de belirtilmişse rsync aktarılan dosyanın ismini işlem bilgisinden önce (şüphesiz, --log-format çıktısından sonra) çıktılayacaktır.
- --log-file=DOSYA
- Bu seçenek, rsync’in
yaptıklarını bir dosyaya günlüklemesini
sağlar. Bu, artalan sürecinin yaptığı
günlük kaydına benzer, ancak artalan süreciyle
yapılmayan bir aktarımın istemci ve/veya sunucu
tarafı için istenebilir. İstemci
seçeneği olarak belirtilirse, aktarım
günlüğü "%i %n%L"
öntanımlı biçemiyle etkinleştirilir. Bu
geçersiz kılınmak istenirse bkz:
--log-file-format
Neler yapıldığını günlüklemesi için uzak tarafa istekte bulunma örneği:
rsync -av --remote-option=--log-file=/tmp/rlog kaynak/ hedef/
Bağlantının istem dışı kapanma sebebini incelemek için yaralıdır.
Ayrıca bkz: Artalan sürecinin --log-file seçeneği.
- --log-file-format=BİÇEM
- --log-file seçeneğiyle belirtilen dosyaya
güncelleme başına günlük kaydı
olarak neler konulacağının belirtilebilmesini
sağlar. Bu seçeneğin etkili olabilmesi için
--log-file seçeneğinin de ayrıca belirtilmesi
gerekir. Boş bir dizge belirtirseniz, günlük
dosyasında güncellenen dosyalarla ilgili kayıtlar
olmaz. Olası biçemleme karakterlerinin tam listesi
için, rsyncd.conf(5) kılavuz sayfasındaki
log format seçeneğinin
açıklamasına bakılabilir.
--log-file belirtildiği durumda bu seçenekle BİÇEM olarak "%i %n%L" belirtilmedikçe öntanımlı biçem kullanılır.
Ayrıca bkz: Artalan sürecinin --log-file-format seçeneği.
- --stats
- Dosya aktarımıyla ilgili ayrıntılı
istatistileri çıktılanmasını ve
rsync’in delta-aktarım algoritmasının
verileriniz için ne kadar etkili olduğunun
anlaşılmasını sağlar. Bu
seçenek, -v seçeneği ile birlikte veya
değil, --info=stats2’ye; 2 veya daha fazla -v
seçeneğiyle birlikte --info=stats3’e
eşdeğerdir.
Geçerli istatistikler:
- Dosya sayısı dizinler, sembolik bağlar, vb. dahil (genel anlamda) "dosya"ların toplam sayısıdır. Toplamı, dosya türleri ve bunların sayıları (sıfır olmadıkça) izler. Örnek: "(reg: 5, dir: 3, link: 2, dev: 1, special: 1)" normal dosyalar, dizinler, sembolik bağlar, aygıt dosyaları, özel dosyalar ve bunların toplamlarını gösterir. Sayısı 0 olanlar listeye dahil edilmez.
- Oluşturulan dosya sayısı, yeni oluşturulan (genel anlamda) "dosya"ların (güncellenenler değil) toplam sayısıdır. Toplamı, dosya türleri ve bunların sayıları (sıfır olmadıkça) izler.
- Silinen dosya sayısı, silinen (genel anlamda) "dosya"ların toplam sayısıdır. Toplamı, dosya türleri ve bunların sayıları (sıfır olmadıkça) izler. Bu satır sadece silmeler etkili ise ve yalnızca 31. protokol (rsync 3.1.x için öntanımlıdır) kullanımdaysa çıktılanır.
- Aktarılan normal dosyaların sayısı, rsync’in delta aktarım algoritması üzerinden güncellenen normal dosyaların sayısıdır. Dizinler, sembolik bağlar, vb. dahil değildir. Başlığa "regular" sözcüğü rsync 3.1.0’da eklenmiştir.
- Aktarımdaki tüm dosyaların toplam boyutu. Toplama dizinler ve özel bağlar dahil edilmez fakat sembolik bağların boyutları dahildir.
- Aktarılmış toplam dosya sayısı.
- Değişmez veriler, güncellenen dosyaların yeniden oluşturması için alıcıya gönderilmiş eşleşmeyen dosya güncelleme verisi miktarıdır.
- Eşleşen veriler, güncellenen dosyaları yeniden oluştururken alıcının yerel olarak sahip olduğu veri miktarıdır.
- Dosya listesi boyutu, göndericinin alıcıya gönderdiği dosya listesi verilerinin miktarıdır. rsync’in listeyi gönderirken yinelenen verileri bir miktar sıkıştırması nedeniyle dosya listesinin bellekteki boyutundan daha küçüktür.
- Dosya listesi üretim süresi, gönderenin dosya listesini oluşturmak için harcadığı saniye sayısıdır. Bu, gönderen tarafta günümüz rsync’lerinden birini gerektirir.
- Dosya listesi aktarım süresi, gönderenin dosya listesini alıcıya göndermek için harcadığı saniye sayısıdır.
- Gönderilen toplam bayt sayısı, rsync’in istemci tarafının sunucu tarafına gönderildiği tüm baytların sayısıdır.
- Alınan toplam bayt sayısı, rsync’in istemci tarafının sunucu tarafından aldığı iletiler hariç toplam bayt sayısıdır. "iletiler hariç" bayt sayısı, sunucunun bize gönderdiği ayrıntılı iletilerin baytlarını saymadığımız anlamına gelir, bu da istatistiklerin daha tutarlı olmasını sağlar.
- -8, --8-bit-output
- Bu, rsync’e, geçerli yerelde geçerli olup
olmadıklarını görmek ve geçersiz
olanları öncelemek için sınamaya
çalışmak yerine, tüm yüksek bitli
karakterlerin çıktıda öncelenmeden
bırakılmasını sağlar. Bu
seçeneğe bakılmaksızın, tüm
denetim karakterleri (ancak sekmeler hariç) öncelenir.
2.6.7 sürümünden itibaren yüksek bitli karakterler ters eğik çizgi (\) ve diyez (#) iminden sonra 3 sekizlik rakam ile ifade edilmektedir. Örneğin satır sonu karakteri "\#012" ile ifade edilir. Dosya ismindeki ters eğik çizgi imlerinin ardından bir diyez imi ve 3 sekizlik rakam gelmedikçe ters eğik çizgiler öncelenmez.
- -h, --human-readable
- Sayıları insan tarafından okunabilir biçemde çıktılar. Olası 3 düzey vardır:
- 1.
- Büyük sayılar 3 rakamlık kümeler halinde aralarına (yerele göre) nokta veya virgül konarak ayrıştırılır.
- 2.
- 1000’lik birimlerle çıktılama yapılır (sonek olarak tek karakterlik birimlerle -- aşağıya bkz).
- 3.
- 1024’lük birimlerle çıktılama yapılır.
- Öntanımlı düzey 1’dir. Her -h
seçeneği düzeyi 1 arttırır. 0. seviyeyi
belirmek için seçeneği --no-human-readable
(--no-h) biçiminde kullanmak gerekir (Sayılar sadece
rakamlardan oluşur).
2. ve 3. seviyede eklenen birim harfleri: K (kilo), M (mega), G (giga), T (tera), P (peta). Örneğin, 1234567 baytlık dosya 2. seviyede 1,23M olarak çıktılanırdı (yerelde ondalık kısmın virgül ile ayrıldığı varsayımıyla).
- Geriye uyumluluk bilgisi
- 3.1.0’dan önceki rsync sürümleri, 1. düzeyi desteklemez ve öntanımlı olarak düzey 0’dır. Bu nedenle, bir veya iki -h seçeneğinin belirtilmesi, öncesinde --no-h seçeneği belirtilmedikçe rsync sürümüne bağlı olarak farklı çıktılar üretilmesine sebep olacaktır. Tek fark için bkz: --list-only
- --partial
- Aktarım kesintiye uğramışsa, öntanımlı olarak rsync, aktarımı yarım kalmış dosyayı silecektir. Bazı durumlarda kısmen aktarılmış dosyaları silinmemesi istenebilir. Aktarımın bir sonraki bağlantıda tamamlanmasını hızlandırmak üzere kısmen aktarılmış dosyaların silinmemesi için bu seçeneği kullanabilirsiniz.
- --partial-dir=DİZİN
- Bu seçenek, --partial seçeneğinin
davranışını değiştirirken
aynı zamanda örtük olarak etkinleştirir. Bu
gelişmiş kısmi dosya yöntemi, kısmi
dosyayı hedef dosyaya yazmak yerine, belirtilen
DİZİN’e yerleştirir. Bir sonraki
aktarımda, rsync, aktarımın yeniden
başlamasını hızlandırmak için bu
dizinde bulunan dosyayı veri olarak kullanacak ve amacına
hizmet ettikten sonra onu silecektir.
--whole-file açıkça (veya örtük olarak) belirtilirse, dosya rsync’in delta-aktarım algoritması kullanılmadan gönderildiğinden, DİZİN içindeki güncellenmekte olan dosya ile ilgili kısmi dosyalarının basitçe kaldırılacağı unutulmamalıdır.
rsync, henüz yoksa, DİZİN’i oluşturacaktır, ancak sadece son dizini oluşturur, yolun tamamını değil. Bu, rsync’in gerektiğinde hedef dosyanın dizininde kısmi dizini oluşturmasını ve kısmi dosya silindikten sonra kaldırmasını sağlamak için göreli bir yol ("--partial-dir=.rsync-partial" gibi) kullanmayı kolaylaştırır. Mutlak bir yolun kısmi dizinin çalışması için ayrılmış özel bir dizini göstermesi beklendiğinden, bu dizin kaldırma işleminin yalnızca göreli yol için yapıldığı unutulmamalıdır.
DİZİN değeri mutlak bir yol değilse, rsync mevcut tüm dışlama kurallarının sonuna bir kural daha ekler. Bu, gönderen tarafta mevcut olabilecek herhangi bir kısmi dizin dosyasının gönderilmesini ve ayrıca alıcı taraftaki kısmi dizin öğelerinin zamansız silinmesini önleyecektir. Bir örnek: yukarıdaki --partial-dir seçeneği, diğer dışlama kurallarının sonuna bu "bozulabilir" dışlama kuralının eşdeğerini ekler: -f ’-p .rsync-partial/’
özel dışlama kuralları kullanılıyorsa, kısmi dizin için özel bir dışlama/gizleme/koruma kuralı eklemek gerekebilir. Çünkü,
- 1.
- diğer özel kuralların sonuna otomatik eklenen bir kural etkisiz kalabilir veya
- 2.
- rsync’in dışlama kuralını geçersiz kılmak gerekebilir.
- Örneğin, rsync’in orada burada kalmış kısmi dizinleri temizlemesi istenirse, --delete-after belirtilmeli ve bir "risk" süzme kuralı eklenmelidir, örnek: -f ’R .rsync-kısmi/’. Geçerli çalıştırma sırasında kalan kısmi dizin verilerinden herhangi birini rsync’in kullanması gerekmedikçe --delete-before veya --delete-during seçeneklerini kullanmaktan kaçınılmalıdır.
- Önemli:
- --partial-dir dizinine diğer kullanıcılar yazamamalıdır, aksi güvenlik riskidir. Örneğin "/temp" dizini ASLA belirtilmemelidir!
- Ayrıca DİZİN değerini RSYNC_PARTIAL_DIR ortam değişkeninde belirtebilirsiniz. Bu değişkene bir değerin atanmış olması --partial seçeneğinin etkin olmasını sağlamaz ama komut satırında --partial seçeneğini belirtmekle --partial-dir seçeneğine dizin belirtilmiş gibi işlem yapılması sağlanır. Örneğin, --partial-dir=.rsync-tmp ile --progress seçeneğini birlikte kullanmak yerine, kabukta RSYNC_PARTIAL_DIR=.rsync-tmp şeklinde bir atama yapıldığını ve .rsync-tmp dizininin eksik kalan aktarımı tamamlamak için komut satırında sadece -P seçeneği belirtilerek kullanıldığını varsayalım. --partial seçeneğinin bu ortam değişkenine bakmadığı durumlar,
- 1.
- --inplace seçeneğinin belirtilmiş olması (--inplace seçeneği --partial-dir ile çeliştiğinden),
- 2.
- --delay-updates seçeneğinin belirtilmiş olmasıdır (aşağıya bkz).
- Günümüz rsync’i, kısmi dizindeki
bir dosyanın aktarımını
sürdürdüğünde, bu kısmi dosya
başka bir geçici dosya oluşturmak yerine, yerinde
güncellenir (böylece hedef + kısmi + tmp yerine hedef
+ tmp’de azami çıktılama
yapılır). Bunun için, aktarımın her iki
ucunda da en az 3.2.0 sürümü rsync
olması gerekir.
Sunucu yapılandırmasının refuse options ayarı, amacı gereği --partial-dir seçeneğinin --partial seçeneğini örtük olarak uygulamamasına sebep olur. Bu, yani, --partial seçeneğinin reddedilmesi, --partial-dir tarafından sağlanan daha güvenilir üsluba hala izin veriyor olmakla, aktarımı yarım kalmış hedef dosyaların tekrar yazılmasına izin vermemek amacıyla kullanılabilir.
- --delay-updates
- Bu seçenek, güncellenen her dosyayı
aktarımın sonunda isimleri değiştirilmek
suretiyle hızlıca yerine taşınmak üzere
bir dizin içinde geçici bir dosyaya koyar. Bu
dosyaların güncellenmesini daha atomik yapmayı
amaçlar. Öntanımlı olarak bu dosyalar her
dosyanın hedef dizini içindeki ".~tmp~"
isimli bir dizine konur, fakat bu davranış
--partial-dir seçeneği belirtilerek
değiştirilebilir. Bu .~tmp~ dizininin
aktarımdan nasıl hariç tutulacağı ve
rsync’in ortalıkta kalan eski .~tmp~ dizinlerini
nasıl temizleyeceği ile ilgili açıklamalar
için bkz: --partial-dir. Bu seçenek ---inplace
ve --append seçeneği ile birlikte
kullanılamaz.
Bu seçenek --no-inc-recursive anlamına gelir çünkü üzerinde sonuna kadar yineleme yapabilmek için bellekte tam dosya listesine ihtiyaç duyar.
Bu seçenek alıcı tarafta daha fazla bellek kullanır (aktarılan dosya başına bir bit) ve ayrıca alıcı tarafta tüm güncellenmiş dosyaların ek bir kopyasını tutmak için yeterli boş disk alanı gerektirir. Ayrıca, aşağıdaki durumlar dışında --partial-dir için mutlak yol kullanılması gerekir:
- 1.
- Mutlak yol kullanıldığında güncellenen tüm dosyalar aynı dizine konulduğundan aktarılan dosyalar arasında aynı isimde dosya olmaz ve
- 2.
- dosyaların bulunduğu yerde adları değiştirilemezse gecikmiş güncellemeler başarısız olacağından dizin hiyerarşisi içinde dosya sistemi bağlama dizinleri bulunamaz.
- Ayrıca, çok daha atomik bir güncelleme algortiması içeren, rsync paketinin "support" alt dizinindeki "atomic-rsync" python betiğine de bakılabilir (--link-dest seçeneğini ve dosyalar için paralel bir hiyerarşi kullanır).
- -m, --prune-empty-dirs
- Dizinler dışında çocukları olmayan
iç içe dizinler dahil tüm boş dizinlerin
silinmesini sağlar. Gönderen rsync
içerme/dışlama/süzme kurallarını
kullanarak dosya hiyerarşisini ardışık olarak
tararken bir sürü gereksiz dizin
oluşmasını önlemek için
yararlıdır.
--min-size seçeneği gibi aktarım kurallarının kullanımının dosya listesine girenleri etkilemediği ve bu nedenle bir dizindeki dosyalardan hiçbiri aktarım kuralıyla eşleşmese bile dizinleri boş bırakmadığı unutulmamalıdır.
Dosya listesi gerçekte budandığından, bu seçenek ayrıca bir silme etkin olduğunda hangi dizinlerin silineceğini de etkiler. Ancak, hariç tutulan dosya ve dizinlerin, hem kaynak dosyaları gizleme hem de hedef dosyaları koruma kurallarıyla hariç tutulan bazı öğelerin silinmesini engelleyebileceği unutulmamalıdır. Bunun nasıl önleneceğini öğrenmek için bozulabilir süzme kuralına bakılabilir.
Genel bir koruma (protect) süzgeci kullanarak dosya listesinden belirli boş dizinlerin budanmasını önleyebilirsiniz. Örneğin, bu seçenek "emptydir" dizininin dosya listesinde tutulmasını sağlar:
--filter ’protect emptydir/’
- Burada, bir hiyerarşideki tüm .pdf dosyalarını kopyalayan, yalnızca .pdf dosyalarını tutmak için gereken hedef dizinleri oluşturan ve hedefteki gereksiz dosyaların ve dizinlerin kaldırılmasını sağlayan bir örnek verilmiştir (dışlama kuralı yerine kullanılan ’hide,! */’ dizin olmayanları gizleme süzgecine dikkat):
rsync -avm --del --include=’*.pdf’ -f ’hide,! */’ kaynak/ hedef
- Gereksiz hedef dosyaların silinmesi istenmiyorsa, gizleme (hide) süzgecinin yerine zamanı daha iyi kullanan --include=’*/’ --exclude=’*’ seçenekleri kullanılabilirdi.
- --progress
- Aktarımın ilerleyişini gösteren bilgilerin
basılmasını sağlar. Bu,
sıkılmış bir kullanıcıya
izlenecek bir şeyler verir. Günümüz
rsync’inde, --info=flist2,name,progress
seçeneği örtük olarak
öntanımlıdır, ancak kullanıcı
tarafından sağlanan --info seçenekleri
önceliklidir (örneğin --info=flist0
--progress).
rsync’in normal bir dosyayı aktarırken göstediği ilerleme satır şuna benzer:
782448 63% 110.64kB/s 0:00:04
- Bu örnekte, gönderici dosyasının
%63’ü olan 782448 baytın saniyede 110.64kB
hızla indirilerek alıcıda
oluşturulduğu, aktarım hızı aynı
kaldığı takdirde aktarımın 4 saniye
sonra biteceği ifade edilmektedir.
Bu istatistikler, rsync’in delta-aktarım algoritması kullanımdaysa yanıltıcı olabilir. Örneğin, gönderenin dosyası temel dosyanın ardından ek verilerden oluşuyorsa, alıcıya değişmez veriler ulaştığında rapor edilen hız muhtemelen önemli ölçüde düşecek ve dosyanın eşleşen kısmını bitirmek için aktarımın tamamlanması muhtemelen alıcının tahmin ettiğinden çok daha uzun sürecektir.
Dosya aktarımı bittiğinde rsync ilerleme satırına şöyle bir satır yerleştirir:
1,238,099 100% 146.38kB/s 0:00:08 (xfr#5, to-chk=169/396)
- Bu örnekte, dosya toplamda 1.238.099 bayt
uzunluğundaydı, tüm dosya için ortalama
aktarım hızı saniyede 146,38 kilobayttı ve
aktarım 8 saniyede tamamlandı. Bu, mevcut rsync
oturumunda normal bir dosyanın 5. aktarımıydı.
Dosya listesindeki toplam 396 dosyadan alıcıda güncel
olup olmadıklarına bakılacak 169 dosya daha var.
Artırımlı bir özyineleme taramasında, rsync, taramanın sonuna ulaşana kadar dosya listesindeki toplam dosya sayısını bilmeyecek, ancak tarama sırasında dosyaları aktarmaya başladığından, (artırımlı özyineleme denetimi anlamında) "ir-chk" metnini içeren bir satır görüntüleyecektir. Listenin tam boyutununun saptandığı noktaya gelindiğinde "ir-chk" yerini "to-chk" metnine bırakacaktır. Yani, "ir-chk" ifadesini gördüğünüz sürece, dosya listesindeki denetlenecek dosya sayısı giderek artacaktır (aktarılan her dosya ayrıca bu listeye eklenecektir).
- -P
- --partial --progress seçenekleri için
kısayoldur. Amacı, kesintiye uğraması muhtemel
uzun bir aktarım için bu iki seçeneğin
birlikte belirtilmesini kolaylaştırmaktır.
Ayrıca, istatistikleri tek tek dosyalar yerine tüm aktarıma dayalı olarak veren bir --info=progress2 seçeneği de vardır. Çok sayıda adın ekranı kaydırmadan aktarımın ilerleyiş izlenmek isteniyorsa, bu seçeneğin bir dosya adı çıktısı verdirmeden kullanılması gerekir (örneğin -v seçeneğinden kaçınılabilir veya --info=name0 belirtilebilir). --info=progress2’yi kullanmak için --progress seçeneğinin belirtilmesi gerekmez.
Son olarak, rsync’e SIGINFO veya SIGVTALRM sinyali göndererek anında ilerleme raporu alınabilir. BSD sistemlerinde, Ctrl+T tuşları SIGINFO sinyali oluşturulur (Linux şu anda bir SIGINFO sinyalini desteklememektedir). İstemci süreci bu sinyallerden birini aldığında, mevcut dosya aktarımının bittiğini bildirecek ilerleme raporu çıktısını üreten bayrağı tanımlar (sinyal geldiğinde büyük bir dosya aktarılıyorsa bu işlem biraz zaman alabilir). Bir dosya adının (gerekirse) ardından ilerleme bilgisinin --info=progress2 biçimi gelir. 3 rsync sürecinden hangisinin istemci süreci olduğu bilinmeksizin, hepsinin sinyallenmesinde sakınca yoktur (çünkü istemci olmayan süreçler sinyali yok sayar).
- Dikkat:
- SIGVTALRM sinyali 3.2.0 öncesi rsync’in (kahrından) ölmesine sebep olur.
- --password-file=DOSYA
- Uzak rsync sunucusuna erişim için parola
içeren bir dosya belirtebilmeyi sağlar. DOSYA olarak
- belirtilirse standart girdi okunur. Dosya içinde parolayı
içerek tek bir satır bulunmalıdır (kalan
satırlar yok sayılır). DOSYA herkesçe
okunabilen bir dosya ise ya da root sahibi olmadığı
bir parola dosyası belirterek rsync’i
çalıştırıyorsa rsync hata
vererek çıkar.
Bu seçenek ssh gibi bir uzak kabuk aktarımına parola sağlamaz. Bu işlemin uzak kabukra nasıl yapılacağını öğrenmek için kullanılacak kabuğun belgelerine bakılabilir. Aktarım için uzak kabuk kullanıldığı durumda bu dosya uzak kabuk oturumunun kimlik kanıtlama işlemi bittikten sonra etkili olur (yani, artalan sürecinin yapılandırma dosyasında belirtilmiş bir parola varsa kimlik kanıtlaması için bu dosya okunur).
- --early-input=DOSYA
- Bu seçenek, rsync’in standart girdideki
"aktarım öncesi" betiğine 5K’ya
kadar veri gönderebilmeyi sağlar. Bu verilerin olası
kullanımlarından biri, komut dosyasına (bir
"aktarım sonrası" betiğiyle sistemden
ayrılması gerekecek) şifrelenmiş bir dosya
sistemini bağlamak için kullanılabilecek bir anahtar
vermektir.
Artalan sürecinin sürümü en az 3.2.1 olmalıdır.
- --list-only
- Bu seçenek dosyaların aktarılmasına değil, kaynak dosyaların listelenmesine sebep olur. Bu seçenek, eğer bir hedef belirtilmezse çalışır, dolayısıyla kullanım alanları şunlardır:
- 1.
- Hedef içeren bir kopyalama komutunu dosya listeleme komutuna dönüştürmek için
- 2.
- Birden fazla kaynak belirtebilmek için. Dikkat: Hedefin de eklenmesi gerekir.
- Dikkat:
- Joker karakterli bir kaynak girdisinin kabuk tarafından birden çok girdiye genişletildiği unutulmamalıdır, bu nedenle bu seçeneği kullanmadan böyle bir girdi ile listeleme asla güvenli değildir. Örnek:
rsync -av --list-only foo* hedef/
- rsync 3.1.0 ve sonrasında, --list-only ile çıktılanan boyutlar --human-readable seçeneğinden etkilenmektedir. Öntanımlı olarak rakam gruplaması uygulanacak olsa da daha yüksek seviyeden okunabilirlik birim sonekli değerler sağlayacaktır. Tüm okunabilirlik düzeylerinde boyut sütunlarının genişliğinin 11 karakterden 14’e yükseleceği unutulmamalıdır. Boyutların sadece rakamlardan oluşmasını sağlamak ve eski 11 karakterlik sütun genişliğine dönmek için --no-h seçeneği belirtilebilir.
- Uyumluluk Bilgisi:
- 2.6.3 öncesi bir rsync’den dosyaların uzaktan listelenmesini isterken, özyinelemeli olmayan bir listeleme istenirse bir hata oluşabilir. Bunun nedeni, dosya listeleme işleminde örtük olarak --recursive olmaksızın --dirs seçeneğinin uygulanması ve eski rsync’lerin bu seçeneğe sahip olmamasıdır. Bu sorunu önlemek için --no-dirs seçeneği belirtilebilir (dizinin içeriğini genişletmek gerekmiyorsa) veya özyineleme etkinleştirilip alt dizinlerin içeriği dışlanabilir: -r --exclude=’/*/*’.
- --bwlimit=HIZ
- Soket üzerinden azami veri aktarım
hızının KiB/s cinsinden belirtilebilmesini
sağlar. HIZ belirtilirken ondalık değer
belirtilebilir ve değerin sonuna birim eklenebilir
(--bwlimit=1.5m gibi). Hiçbir sonek belirtilmezse 1024
baytlık birimler ("K" veya "KiB")
öntanımlıdır. 0 değeri hız
kısıtlaması olmadığını
belirtir. Kullanılabilir soneklerin listesi için bkz:
--max-size
Geriye uyumluluk için hız sınırı en yakın KiB birime yuvarlanabilir. Yani, 1024 b/s’den küçük hız belirtilemez.
rsync veriyi soketlere bloklar halinde yazar ve bu seçenek hem blokların yazılması hem de ortalama aktarım hızını istenen hızda tutmaya çalışmak amacıyla kullanılır. rsync’in veri bloğunu yazarken uyuduğu durumlarda ortalama hızı tutturmaya çalışırken bazı hız aşımları görülebilir.
Verilerin dahili arabelleğe alınması nedeniyle, --progress seçeneği, verilerin gönderim hızını doğru şekilde yansıtmayabilir. Bunun nedeni, bazı dosyaların verileri hızlıca arabelleğe alındığında hızlıca gönderiliyor gibi görünmesi ya da çıktı arabelleğinin boşaltılması sırasında gönderimin yavaşlamış gibi görünmesidir. Bu durum, gelecekteki bir sürümde düzeltilebilir.
Ayrıca bkz: Artalan sürecininin --bwlimit seçeneği.
- --stop-after=SÜRE, --time-limit=SÜRE
- --time-limit seçeneğinin kullanımı
artık önerilmemektedir.
Belirtilen SÜRE geçtiğinde rsync’in kopyalamayı durdurmasını sağlar.
Azami esneklik için, bir tarafın çıkması bağlantıyı sonlandırdığından bu seçenek uzak tarafa gönderilmez. Bağlantının yalnızca bir tarafı bu seçeneği desteklese bile seçeneğin kullanımına izin verilir. Gerektiğinde, --remote-option (-M) seçeneği kullanılarak uzak tarafın bağlantıyı sonlandırması istenebilir.
- --stop-at=yıl-ay-günTsaat:dakika
- Belirtilen zamana ulaşıldığında
rsync’in kopyalamayı durdurmasını
sağlar. Tarih ve zamanın tamamı yerel zaman diliminde
yıl-ay-günTsaat:dakika biçeminde
(2000-12-31T23:59 gibi) belirtilebilir. Tarih belirtirken tire yerine
eğik çizgi kullanılabilir.
Değer çeşitli şekillerde kısaltılabilir, örneğin 2 rakamlı yıl belirtilebildiği gibi bazı değerler hiç belirtilmeyebilir. Her durumda, sağlanan zaman bilgisiyle eşleşen zamanda kopyalama durdurulur. Geçerli zamanın veya geçmişin belirtilmesi durumunda rsync hata vererek çıkar.
Örneğin, "1-30" 30 Ocak yerel zamanla gece yarısını, "14:00" bir sonraki ös 2’yi, "1" gelecek ayın 1. gününün geceyarısını, "31" gelecek 31 çeken ayın 31. gününün geceyarısını, "59" ise geçerli saatin 59. dakikasını ifade eder.
Azami esneklik için, bir tarafın çıkması bağlantıyı sonlandırdığından bu seçenek uzak tarafa gönderilmez. Bağlantının yalnızca bir tarafı bu seçeneği desteklese bile seçeneğin kullanımına izin verilir. Gerektiğinde, --remote-option (-M) seçeneği kullanılarak uzak tarafın bağlantıyı sonlandırması istenebilir. Uzak konağın öntanımlı zaman diliminin yerel zaman diliminden farklı olabileceği hesaba katılmalıdır.
- --fsync
- Alıcı tarafın aktarımı biten her dosyaya fsync yapmasına sebep olur. Bu aktarımı yavaşlatsa da önemli dosyaları güncellerken huzuru sağlamaya yardımcı olabilir.
- --write-batch=DOSYA
- Aynı hedefe yapılacak eşdeğer bir
çağrı için --read-batch
seçeneği ile kullanılmak üzere bir dosya
oluşturur. Ayrıntılar için bkz: TOPLU
İŞLEM DOSYASI KİPİ
bölümü ve --only-write-batch
seçeneği.
Bu seçenek uzlaşılmış sağlama toplamını ve sıkıştırma listelerini geçersiz kılar ve her zaman eski tarz md5/md4/zlib seçimlerine dayalı bir seçim üzerinde uzlaşım sağlar. Daha güncel bir seçim istenirse, --checksum-choice (--cc) ve/veya --compress-choice (--zc) seçenekleri kullanılabilir.
- --only-write-batch=DOSYA
- Toplu işlem dosyası oluşturulurken hedef sistemde
hiçbir güncelleme yapılmaması
dışında --write-batch gibi
çalışır. Bu, değişikliklerin
başka yollarla hedef sisteme taşınmasına ve
ardından değişikliklerin --read-batch yoluyla
uygulanmasına olanak tanır.
Toplu işlem dosyası doğrudan taşınabilir ortamlara yazılabilir: Bu ortam, aktarım bitmeden önce kapasitesini doldurursa, bu kısmi aktarım hedefe uygulanabilir ve geri kalanını almak için tüm süreç tekrarlanabilir (çoklu güncelleme döngüsü devam ederken hedef sistemin kısmen güncellenmiş olması umursanmadığı takdirde).
Ayrıca, değişiklikleri uzak bir sisteme gönderirken bant genişliğinin önemli olmadığı unutulmamalıdır. Çünkü toplu işlem dosyası, verilerin kablo üzerinden akmasına gerek kalmadan göndericiden alıcıya yönlendirilmesine olanak tanır (çekerken, gönderen uzakta olduğundan toplu işlem dosyası oluşturamazsınız).
- --read-batch=DOSYA
- Evvelce --write-batch ile oluşturulan DOSYA içindekileri uygular. Eğer DOSYA olarak "-" belirtilirse dosya verisi standart girdiden okunur. Ayrıntılar için TOPLU İŞLEM DOSYASI KİPİ bölümüne bakınız.
- --protocol=SAYI
- Daha eski bir protokol sürümünü kullanmaya zorlar. Bu, daha eski bir rsync sürümüyle uyumlu bir toplu iş dosyası oluşturmak için kullanışlıdır. Örneğin, --write-batch seçeneğiyle rsync 2.6.4 kullanılıyorsa, ancak --read-batch seçeneğini çalıştırmak için rsync 2.6.3 kullanılacaksa, eski protokol sürümünü zorlamak için toplu iş dosyası oluşturulurken "--protocol=28’ kullanılmalıdır (okuyan sistemde rsync’in yükseltilmeyeceği varsayımıyla).
- --iconv=DÖNÜŞÜM
- rsync, bu seçeneği kullanarak dosya
adlarını karakter kümeleri arasında
dönüştürebilir.
DÖNÜŞÜM olarak "."
değeri belirtilerek, rsync’e
öntanımlı karakter kümesinin yerel
tanımına göre aranması sağlanabilir.
Ayrıca, yerelin ve hedefin karakter kümesi
--iconv=YEREL,HEDEF biçeminde virgülle
ayrılarak da (--iconv=iso88599,utf8 gibi) belirtilebilir. Bu
sıra, dosyaları gönderirken veya alırken
seçeneğin aynı kalmasını sağlar.
Son olarak, herhangi bir dönüştürmeyi
engellemek için --no-iconv veya
DÖNÜŞÜM olarak "-"
belirtebilirsiniz. Bu seçeneğin
öntanımlı değeri konağa özeldir
ve ayrıca RSYNC_ICONV ortam değişkeni ile de
dönüşüm belirlenebilir.
Yerel iconv(1) kitaplığının desteklediği karakter kümesi adlarının listesi için "iconv --list" komutu çalıştırılabilir.
--protect-args (-s) seçeneğini belirtilirse, rsync komut satırında belirtilen dosya adlarını gönderen taraf dönüştürecektir. Ayrıca bkz: --files-from
rsync’in süzme dosyalarında (içerilen/dışlanan dosyalar dahil) herhangi bir ad dönüşümü yapmadığını unutulmamalıdır. Aktarımın her iki tarafıyla da eşleşecek kuralların belirtildiğinden emin olunmalıdır. Örneğin, iki tarafta da hesaba katılması gereken dosya adı farklılıkları varsa, fazladan içerme/dışlama kuralları belirtilebilir.
Bir --iconv seçeneği buna izin veren bir rsync artalan sürecine iletildiğinde, artalan süreci, gerçekte ilettiğiniz uzak karakter kümesinden bağımsız olarak "charset" yapılandırma seçeneğinde belirtilen karakter kümesini kullanır. Bu nedenle, bir artalan süreci aktarımı için yalnızca yerel karakter kümesini belirtmek yeterlidir (--iconv=utf8 gibi).
- -4, --ipv4, --6, --ipv6
- rsync’e soketleri oluştururken veya ssh
çalıştırırken IPv4/IPv6 tercih etmesini
söyler. Bu sadece rsync’in doğrudan kendi
denetimi altındaki soketleri ve uzak kabuk olarak kullanılan
ssh ile anlaşabilmek için -4 veya -6
seçeneğinin ssh’ye iletilmesini etkiler.
Diğer uzak kabuklar için IPv4 durumunda doğrudan
"--rsh SHELL -4" veya IPv6 durumunda "--rsh SHELL
-6" seçeneğini belirtmek gerekebilir.
Ayrıca bkz: Artalan süreci --ipv4 seçeneği.
rsync, IPv6 desteği olmadan derlendiyse, --ipv6 seçeneğinin hiçbir etkisi olmaz. Bu durumda rsync --version çıktısı "IPv6 yok" dizgesini içerir.
- --checksum-seed=SAYI
- MD4 sağlama toplamı tohumunun SAYI olarak belirtilebilmesini sağlar. Bu 4 baytlık tohum her blok ve dosyanın MD4 sağlama toplamı hesaplamasında kullanılır (günümüz MD5 sağlama toplamları tohum kullanmaz). Öntanımlı tohum o an için time(3) kullanılarak sunucu tarafından üretilir. Bu seçenek, yinelenebilir blok sağlama toplamları isteyen uygulamalar için ya da kullanıcının daha rastgele bir tohum kullanmak istediği yerlerde kullanışlıdır. SAYI olarak sıfır değeri verilirse öntanımlı tohum kullanılır.
ARTALAN SÜRECİ SEÇENEKLERݶ
rsync artalan süreci başlatılırken kullanılan seçenekler:
- --daemon
- Bu seçenek rsync’in artalanda
çalışacağını belirtir.
Başlattığınız sunucuya bir rsync
istemcisi konak::modül veya
rsync://konak/modül/ sözdizimini kullanarak
erişebilir.
Eğer standart girdi bir soket ise, rsync, inetd üzerinden çalıştığını varsayacaktır, aksi takdirde, uçbirimini bırakıp bir artalan süreci haline gelecektir. rsync istemcileri tarafından yapılan her bağlantı isteğinde süreç, yapılandırma dosyasını (rsyncd.conf) okuduktan sonra isteğe yanıt verecektir.
Daha fazla bilgi için bkz: rsyncd.conf(5)
- --address=ADRES
- Öntanımlı olarak rsync, --daemon
seçeneği ile
başlatıldığında ya da bir rsync
sunucuya bağlanırken bir joker adres kullanır. Bu
seçenekle kullanılacak adres olarak belli bir IP adresi
(veya konakismi) belirtebilirsiniz. Bu --config
seçeneği ile birlikte kullanılarak sanal konak
kullanımını mümkün kılar.
Ayrıca, rsyncd.conf(5) kılavuz sayfasındaki address seçeneğinin açıklamasına da bakılabilir.
- --bwlimit=HIZ
- Sunucu sürecinin gönderdiği veri için azami
aktarım hızını KiB/s cinsinden belirtmek
için kullanılır. İstemci bu durumda bile bir
--bwlimit değeri belirtebilir, ancak HIZ’dan
büyük değerlere izin verilmez.
Ayrıca bkz: İstemci --bwlimit seçeneği.
- --config=DOSYA
- Öntanımlı yapılandırma dosyasında farklı bir yapılandırma dosyası belirtmek için kullanılır. Artalan süreci root dışında bir uzak kullanıcı tarafından bir uzak kabuk uygulaması üzerinden çalıştırılıyorsa öntanımlı yapılandırma dosyası çalışma dizinindeki (genellikle $HOME) rsyncd.conf dosyası, aksi takdirde /etc/rsyncd.conf’dur.
- -M, --dparam=SEÇENEKLER
- Bu seçenek, rsync artalan süreci kipinde başlatılırken bir artalan süreci yapılandırma seçeneğini tanımlamak için kullanılabilir. İlk modülün tanımından önce seçeneğin genel ayarların sonuna eklenmesine eşdeğerdir. İstenirse seçenek adları boşluksuz olarak belirtilebilir. Örnek:
rsync --daemon -M pidfile=/yol/rsync.pid
- --no-detach
- Artalan süreci olarak çalışmada rsync’in uçbirimini bırakıp bir artalan süreci haline gelmesini engeller. Bu seçenek, rsync, Cygwin üzerinde bir hizmet olarak çalıştırılırken gereklidir. Ayrıca, daemontools ya da AIX’in Sistem Özkaynak Denetçisi gibi bir uygulama tarafından yönetildiğinde yararlı olabilir. Seçeneğin ayrıca, rsync bir hata ayıklayıcı altında çalıştırılırken de kullanılması tavsiye edilir. Bu seçenek, rsync, inetd veya sshd üzerinden çalışıyorsa etkisizdir.
- --port=PORT
- Artalan süreci tarafından öntanımlı
olarak kullanılan 873. port yerine başka bir port belirtmek
için kullanılır.
Ayrıca istemci --port seçeneğinin ve rsyncd.conf(5) kılavuz sayfasındaki port seçeneğinin açıklamasına da bakılabilir.
- --log-file=DOSYA
- Yapılandırma dosyasındaki "log file"
seçeneğinde belirtilen dosyanın yerine
kullanılacak günlük DOSYAsını
belirtmek için kullanılır.
Ayrıca bkz: İstemci --log-file seçeneği.
- --log-file-format=BİÇEM
- Yapılandırma dosyasındaki "log
format" seçeneğinde belirtilen dizge yerine
kullanılacak olan BİÇEM dizgesini belirtmek
için kullanılır. Ayrıca, değeri
boş dizge değilse "transfer logging"
seçeneğini etkinleştirir, aksi takdirde
aktarım günlüklemesi kapatılır.
Ayrıca bkz: İstemci --log-file-format seçeneği.
- --sockopts
- rsyncd.conf(5) dosyasındaki socket options
seçeneği ile aynı sözdizimine sahip olup onu
geçersiz kılar.
Ayrıca bkz: İstemci --sockopts seçeneği.
- -v, --verbose
- Artalan sürecinin başlatılması
sırasında günlük bilgilerinin
miktarını arttırmak için
kullanılır. Artalan sürecinin, istemci
bağlandıktan sonraki ayrıntı seviyesi istemci
tarafından kullanılan seçeneklerle ve
modülün yapılandırma
bölümündeki max verbosity değeriyle
denetlenir.
Ayrıca bkz: İstemci --verbose seçeneği.
- -4, --ipv4, --6, --ipv6
- rsync artalan sürecinin bağlantıları
dinleyeceği soketleri oluştururken IPv4/IPv6 tercih etmesini
sağlarlar. Çekirdekteki bir IPv6 hatası nedeniyle
Linux’un eski sürümlerinde bu seçeneklerden
biri gerekli olabilir (port kullanılacağı zaman
"adres zaten kullanımda" hatası
alınıyorsa, rsync artalan sürecini
başlatırken --ipv6 veya --ipv4 belirtmek
gerekebilir).
Ayrıca bkz: İstemci --ipv4 seçeneği.
rsync, IPv6 desteği olmadan derlendiyse, --ipv6 seçeneğinin hiçbir etkisi olmaz. Bu durumda rsync --version çıktısı "IPv6 yok" dizgesini içerir.
- -h, --help
- --daemon seçeneğinden sonra belirtilirse, rsync artalan süreci başlatılırken kullanılabilecek seçenekleri kısaca açıklayan bir yardım sayfası basar.
SÜZME KURALLARI¶
Süzme kuralları hangi dosyaların aktarılacağını (içerileceğini - include), hangi dosyaların atlanacağını (dışlanacağını - exclude) seçmek için esnek bir yöntem sağlar. Kurallar ya doğrudan include/exclude seçenekleri ile ya da daha hassas içerme/dışlama kalıpları ile (bir dosyadan okuyarak) belirtilebilir.
rsync, aktarılacak dosya/dizinlerin listesindeki her isim için ayrı ayrı içerme/dışlama kurallarını tarar ve ilk eşleşen kalıbı uygular: bir dışlama kalıbıyla eşleşen dosya atlanır; bir içerme kalıbı ile eşleşen dosya atlanmaz; eşleşen bir kalıp yoksa dosya atlanmaz.
rsync, komut satırında belirtilen include/exclude seçeneklerinden sıralı bir süzme kuralları listesi oluşturur. Süzme kurallarının sözdizimi şöyledir:
kural [kalıp_veya_dosyaismi] kural,belirteç [kalıp_veya_dosyaismi]
uzun kısa açıklama
-------------------------- 1. exclude - dışlama kalıbı belirtir 2. include + içerme kalıbı belirtir. 3. merge . ek kuralları okumak için birleştirilecek dosyayı belirtir. 4. dir-merge : bir dizin içi birleştirme dosyası belirtir. 5. hide H aktarımdan gizlenen dosyalar için kalıp belirtir. 6. show S aktarımdan gizlenmeyen dosyalar için kalıp belirtir. 7. protect P silinmekten korunan dosyalar için kalıp belirtir. 8. risk R silinmekten korunmayan dosyalar için kalıp belirtir. 9. clear ! geçerli içerme/dışlama listesini temizler (girdi almaz)
--include ve --exclude komut satırı seçenekleri yukarıdaki kural sözdizimini değil, sadece kalıplarla ek olarak listeyi temizleyen ünlem (!) imini (ve kalıplar bir dosyadan okunuyorsa boş ve açıklama satırlarını) kabul eder. Bir kalıp "- " (tire ve boşluk) veya "+ " (artı ve boşluk) ile başlamıyorsa, kural (içerme seçeneği için) "+ " veya (dışlama seçeneği için) "- " önekli bir dizge olarak yorumlanır. Diğer yandan, bir --filter seçeneği, kuralın başlangıcında daima kısa veya uzun bir kalıp adı içermelidir.
Ayrıca, her bir --filter, --include ve --exclude seçeneği tek bir kalıp/kural alır. Çok sayıda kalıp/kural eklemek için komut satırında bu seçenekler yinelenebilir veya --filter, --include-from ve --exclude-from seçeneklerinin birleştirme dosyası sözdizimi kullanılabilir.
İçerme/Dışlama Kalıpları¶
Yukarıda SÜZME KURALLARI bölümünde bahsedildiği gibi dosyalar "+", "-" vb. süzme kuralları kullanılan kalıplar belirtilerek içerilebilir ya da dışlanabilir. İçerme ve dışlama kurallarının her birinde aktarılacak dosyaların isimleriyle eşleşen kalıplar belirtilir. Bu kalıplar çeşitli biçimler alabilir:
- ○
- Eğer kalıp bir / ile başlıyorsa, dosya hiyerarşisi içinde belli bir noktaya demirlenir, aksi takdirde dosya yolunun sonuna eşlenir. Bu düzenli ifadelerde kalıbı ^ ile başlatmaya benzer. Örneğin, "/foo" kalıbı ya (genel bir kural için) "aktarımın kökü"ndeki ya da (dir-merge kuralı için) birleştirme dosyasının dizinindeki "foo" isimli dosya ile eşleşirdi. Nitelenmemiş bir "foo" ise, ağacın herhangi bir yerindeki "foo" isimli bir dosya veya dizin ismi ile eşleşirdi, çünkü algoritma kökten alt dizinlere doğru ardışık olarak uygulanır; yani, her yol elemanı sonunda bir dosya ismi olacak şekilde ele alınır. Demirlenmemiş "sub/foo" ise, hiyerarşinin herhangi bir noktasındaki "sub" isimli bir dizin içindeki bir "foo" ile eşleşirdi. Aktarımın kökü ile eşleşen bir kalıbın nasıl belirtileceği İçerme/Dışlama Kalıplarının Kök Dizinle İlişklendirilmesi bölümünde ayrıntılı olarak açıklanmıştır.
- ○
- Eğer kalıp bir / ile bitiyorsa, sadece bir dizinle eşleşir, bir dosya, sembolik bağ ya da aygıtla değil.
- ○
- Eğer kalıp *?[ dosyaismi kalıp karakterlerinden birini içeriyorsa, ifade sınarak ya kabuğun dosyaismi eşleştirme kuralları ya da basit bir dizge eşleştirmesi kullanılır.
- ○
- Tek yıldız ("*") herşeyle eşleşecek ama eğik çizgilerde (/) duracaktır.
- ○
- Çift yıldız ("**") eğik çizgiler dahil herşeyle eşleşir.
- ○
- Soru imi ("?") eğik çizgi (/) hariç her karakterle eşleşir.
- ○
- Köşeli ayraç ("[") [a-z] veya [[:alpha:]] gibi bir karakter sınıfı başlatır.
- ○
- Bir joker kalıbında ters eğik çizgi bir joker karakteri öncelemekte kullanılabilir, ancak öncelediği bir joker karakter değilse öncelediği karakterin eşleşmesini sağlar. Bir kalıp, hiçbir şey içermeyen bir kalıba kıyasla joker karakter içerdiğinde, fazladan bir ters eğik çizgi kaldırma düzeyi var demektir. Örneğin, “foo\bar” dizgesinde "\b"nin tek başına "b" haline gelmemesi gerekiyorsa dizgeye ters eğik çizgiyle eşleşen bir önceleme eklemek gerekiyor demektir, bu durumda dizge “foo\\bar*" olarak belirtilmelidir.
- ○
- Eğer bir kalıp bir / (sonda değil) ya da bir "**" içeriyorsa baştan sona tüm dizinleri dahil tam dosya yolu ile eşleştirilir. Eğer kalıp bir / ya da "**" içermiyorsa, sadece tam yolun son bileşeni ile eşleştirilir (algoritmanın altdizinlere inilerek uygulandığını hatırlayın, yani "tam yol" başlangıç dizininden başlayarak son dizine kadar yolun herhangi bir parçası ile eşleşebilir).
- ○
- Sondaki “bir_dizin/***” kalıbı [3 yıldıza dikkat!] hem dizinle (“bir_dizin/" belirtilmiş gibi) hem de dizindeki her şeyle ("bir_dizin/**" belirtilmiş gibi) eşleşir. Bu davranış 2.6.7 sürümünde eklenmiştir.
- Bilgi:
- --recursive (-r) seçeneğini
(örtük olarak -a ile uygular)
kullandığınızda, soldan sağa her yolun
her alt bileşeni ziyaret edilir, yani
içerme/dışlama kalıpları alt dizinlere
de inilerek her alt bileşenin tam ismine uygulanır.
rsync göndereceği dosyaları ararken,
dışlama kalıpları aslında dizin
basamaklama aşamasını kısa devre eder.
Örneğin, "/foo/bar/baz" içerilirken "/foo" ve "/foo/bar" dışlanmaz). Eğer bir kalıp belli bir üst dizini dışlıyorsa, bir düzey daha derin içerme kalıbını sonuçsuz bırakabilir, çünkü rsync, hiyerarşinin dışlanan bir bölümünden daha derine inmez.
Bir üst dizinin dışlanması "*" ile biten bir kural kullanılırken önem kazanır. Örneğin, bu çalışmayacaktır:
+ /bir/yol/bu-dosya-bulunmaz + /bu-dosya-bulunur - *
- Bu kural listesi, "bir" üst dizini ’- *’ kuralından dolayı dışlayacağından başarısız olur, yani rsync, "bir" ve "bir/yol" dizinleri içindeki hiçbir dosyayı ziyaret etmez. Hiyerarşideki tüm dizinleri ziyaret ettirecek bir çözüm "+ */" kuralının listeye dahil edilmesi ("- *" kuralından önce herhangi bir yere yerleştirilebilir) ve belki --prune-empty-dirs seçeneğinin de kullanılmasıdır. Diğer bir çözüm ise ziyaret edilmesi gereken üst dizinlerin hepsi için belirli bir içerme kuralı eklemektir. Örneğin, bu kural kümesi doğru çalışır:
+ /bir/ + /bir/yol/ + /bir/yol/bu-dosya-bulunur + /bu-dosya-da-bulunur - *
Dışlama/içerme eşleştirme örnekleri:
- "- *.o" kalıbı *.o ile eşleşen tüm dosya isimlerini dışlar.
- "- /foo" kalıbı aktarımın kök dizinindeki "foo" isimli dosyayı/dizini dışlar.
- "- foo/" kalıbı "foo" isimli her dizini dışlar.
- "- /foo/*/bar" kalıbı aktarımın kök dizinindeki "foo" dizininden iki seviye aşağıdaki "bar" isimli her dosyayı dışlar.
- "- /foo/**/bar" kalıbı aktarımın kök dizinindeki "foo" dizininden iki veya daha alt seviyedeki "bar" isimli her dosyayı dışlar.
- "+ */", "+ *.c" ve "- *" kalıplarının birleşimi, tüm dizinler ve C kaynak dosyaları dışında herşeyi dışlar.
- "+ foo/", "+ foo/bar.c" ve "- *" kalıplarının birleşimi ise sadece "foo" dizinini ve "foo/bar.c" dosyasını içerecektir ("foo" dizini açıkça içerilmelidir yoksa "*" tarafından dışlanırdı).
- / değiştircisi, içerme/dışlama kuralının geçerli öğenin mutlak yol adıyla eşleşmesi gerektiğini belirtir. Örneğin, "-/ /etc/passwd" kalıbında, "/etc" dizininden dosya gönderilirken passwd dosyası aktarıma dahil edilmez; "-/ dizin/foo" kalıbında ise, "dizin" alt dizini aktarımın kökü bile olsa içindeki "foo" dosyası aktarıma dahil edilmez.
- ! değiştircisi, içerme/dışlama kuralının kalıp eşleşmediği takdirde etkili olmasını sağlar. Örneğin, "-! */" dışlama kuralı dizin olmayan herşeyi dışlar.
- C değiştircisi, tüm küresel CVS-dışlama kurallarının "-C" yerine dışlananlar olarak eklenmesi gerektiğini belirtmek için kullanılır. Hiçbir girdi kabul etmez.
- s değiştircisi, kuralın gönderen taraf için geçerli olduğunu belirtmek için kullanılır. Gönderen tarafı etkileyen bir kural dosyaların aktarılmasını engeller. Öntanımlı kuralların gönderen taraf kuralları haline gelmesini sağlayan --delete-excluded belirtilmediği sürece öntanımlı kurallar her iki tarafı da etkiler. Gönderen taraf içerme/dışlama kurallarını belirtmenin başka bir yolu hide (H) ve show (S) kurallarını kullanmaktır.
- r değiştircisi, kuralın alıcı tarafa uygulanacağını belirtmekte kullanılır. Alıcı tarafı etkileyen bir kural, dosyaların silinmesini engeller. Daha fazla bilgi için üstteki s değiştiricisinin açıklamasına bakılabilir. Alıcı taraf içerme/dışlama kurallarını belirtmenin başka bir yolu (protect (P) ve (risk( (R) kurallarını kullanmaktır.
- p değiştircisi, bir kuralın bozulabilir olduğunu, yani silinmekte olan dizinlerde yok sayılacağını belirtir. Örneğin, --cvs-exclude (-C) seçeneğinin "CVS" ve "*.o" gibi şeyleri dışlayan öntanımlı kuralları bozulabilir olarak imlenir ve kaynaktan kaldırılan bir dizinin hedeften silinmesini engellemez.
- x değiştircisi, xattr kopyalama/silme işlemlerinde xattr adlarını etkileyen kuralı belirtir (ve bu nedenle dosya/dizin adları eşleştirilirken yoksayılır). Hiçbir xattr eşleştirme kuralı belirtilmezse, öntanımlı xattr süzme kuralı kullanılır (bkz: --xattrs seçeneği).
Birleştirme Dosyası Süzme Kuralları¶
Yukarıda SÜZME KURALLARI bölümünde bahsedildiği gibi merge (.) ya da dir-merge (:) süzme kuralı belirtilerek tüm dosyalar süzme kurallarıyla birleştirilebilir.
İki çeşit birleştirme dosyası vardır: tek dosyalık (’.’) ve dizin içi dosyalar (’:’). Tek dosyalık bir birleştirme dosyası bir defa okunur ve "." kuralındaki süzme listesi ile birlikte işleme sokulur. Dizin içi birleştirme dosyası türünde ise, rsync adım adım bütün alt dizinleri tarayarak ismi belirtilen dosyayı buldukça dosya içeriğini o anki kural listesine ekler. Bu dizin içi kural dosyaları aktarımın alt dizinlerinde aranması gerektinden gönderen tarafta oluşturulmalıdır. Ayrıca, bu kural dosyalarının silinmeyecek dosyaları etkilemesi isteniyorsa, alıcı tarafa da aktarılmaları gerekecektir (aşağıda, Diziniçi Birleştirme Kuralları ve Silme bölümüne bakınız).
Bazı örnekler:
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
- ○
- - belirteci, dosya içi açıklamalar hariç başka bir kural çözümlemesi olmaksızın, dosyanın sadece dışlama kalıplarından oluşması gerektiğini belirtir.
- ○
- + belirteci, dosya içi açıklamalar hariç başka bir kural çözümlemesi olmaksızın, dosyanın sadece içerme kalıplarından oluşması gerektiğini belirtir.
- ○
- C belirteci, bir dosyanın CVS uyumluluğu anlamında okunması gerektiğini belirtir. Bu ’n’, ’w’, ve ’-’ belirteçlerini etkin kılar, fakat ayrıca, belirtilecek liste temizleme imine de (!) izin verir. Bir dosya ismi belirtilmemişse dosya isminin ".cvsignore" olduğu varsayılır.
- ○
- e belirteci, birleştirme dosyasını aktarımdan dışlayacaktır; örneğin, "dir-merge,e .rules" kuralı "dir-merge .rules" ve "- .rules" kuralları gibidir.
- ○
- n belirteci, kuralların alt dizinlerde miras alınmayacağını belirtir.
- ○
- w belirteci, kurallar için satırlara bölme değil boşluklara göre sözcük ayırma uygulanacağını belirtir. Bu ayrıca açıklamalara da izin vermeyecektir.
- Bilgi:
- Kuraldan öneki ayıran boşluklar özel olarak ele alınır, yani "- foo + bar" dizgesi iki kurala ayrılacaktır (önek çözümlemesinin iptal edilmediği varsayımıyla).
- ○
- Dosya öntanımlısından okunan kuralları zorlarken "+" veya "-" kuralları için yukarıdaki değiştiricilerden herhangi biri belirtilebilir (kullanışsız olacağından ! değiştiricisi hariç). Örneğin, "dir-merge,s .filt" ve ":sC" kurallarının herbiri sadece gönderen tarafta uygulanacak dizin içi birleştirme kurallarını oluştururken, "merge,-/ .excl" kuralıyla .excl dosyasının içeriği mutlak yol dışlamaları olarak ele alınır. Birleştirme kuralı etkilenecek tarafları belirtiyorsa (s veya r değiştiricisi veya her ikisi aracılığıyla), dosyadaki kurallar tarafları belirtmemelidir (bir değiştirici veya hide gibi bir kural öneki aracılığıyla).
Tek dosyalık kuralın dir-merge dosyasından miras alınmasını engellemenin diğer bir yolu, dosyanın başına bir / getirmektir. Bir diziniçi birleştirme dosyasındaki bu tür kurallar birleştirme dosyasının bulunduğu dizine göre ele alınır, böylece bir "/foo" kalıbı dir-merge süzme kuralı dosyasının bulunduğu dizindeki "foo" dosyasıyla eşleşir.
--filter=". dosya" üzerinden belirtilebilecek örnek süzme dosyası:
merge /home/user/.global-filter - *.gz dir-merge .rules + *.[ch] - *.o - foo*
Eğer bir dizin içi birleştirme dosyası, ilk aktarım dizininin üst dizini olan bir dosya yolu ile belirtilmişse, rsync belirtilen dosya için, aktarım dizininin başlangıcından itibaren tüm üst dizinleri tarayacaktır. Örneğin, böyle bir süzgeç (bkz: -F seçeneği),
--filter=’: /.rsync-filter’
Dizin içi birleştirme dosyaları için bu tarz ön tarama örnekleri:
rsync -avF /kaynak/yol/ /hedef/dizin rsync -av --filter=’: ../../.rsync-filter’ /kaynak/yol/ /hedef/dizin rsync -av --filter=’: .rsync-filter’ /kaynak/yol/ /hedef/dizin
".cvsignore" dosyasının içeriği kalıplara dahil etmek istenirse, ":C" kuralı kullanılmalıdır. Bu kural, .cvsignore dosyalarını dizin içi birleştirme dosyaları haline getirir, fakat dosya CVS uyumluluğu bağlamında ayrıştırılır. --cvs-exclude (-C) seçeneğinin bulunduğu yerde etkili olması isteniyorsa kuralların arasına bu noktada ":C" kuralı yerleştirilebilir. Bu olmaksızın, rsync .cvsignore dosyası için dir-merge kuralını diğer kurallarının sonuna ekleyecektir (komut satırı seçeneklerinden daha düşük bir öncelik vererek). Örnek:
cat <<EOT | rsync -avC --filter=’. -’ a/ b + foo.o :C - *.old EOT rsync -avC --include=foo.o -f :C --exclude=’*.old’ a/ b
Liste Temizleyen Süzme Kuralı¶
Yukarıda SÜZME KURALLARI bölümünde bahsedildiği gibi mevcut içerme/dışlama listesini "!" süzme kuralını kullanarak temizleyebilirsiniz. "Geçerli" liste ya genel kural listesi (kural, süzme seçenekleri çözümlenirken saptanmışsa) ya da dizin içi birleştirme dosyası kurallarından (bunlar kendi alt listelerinde miras alınırlar, dolayısıyla üst dizinin kurallarını bu kuralla temizleyebilirsiniz) oluşur.
İçerme/Dışlama Kalıplarının Kök Dizinle İlişklendirilmesi¶
Evvelce de bahsedildiği gibi, genel içerme/dışlama kalıpları aktarımın kök dizini ile ilişkilendirilebilir (birleştirme dosyasının dizini ile ilişklendirilen dizin içi kalıplarının tersine). Aktarımı, göndericiden alıcıya bir isim alt ağacının gönderilmesi olarak düşünürseniz, aktarımın kök dizini hedef dizinde yinelenecek olan ağaç başlangıcıdır. Bu kök, bir / ile başlayan kalıplarla ilişkilendirilir.
Eşleşme aktarımın köküne göre yapıldığından, kaynak yolun sonundaki bölü çizgisini değiştirmek ya da --relative seçeneğinin kullanımında değişiklik yapmak eşleştirmede kullanılan yolu etkiler. Aşağıda bu davranış örneklenmiştir.
Biri "/home/ben/foo/bar", diğeri "/home/sen/bar/baz" olan iki dosya olsun. Aşağıda bu iki dosyanın çeşitli komut kullanımlarındaki farklı aktarımları gösterilmiştir.
Örnek komut: rsync -a /home/ben /home/sen /hedef +/- kalıbı: /ben/foo/bar +/- kalıbı: /sen/bar/baz Hedef dosya: /hedef/ben/foo/bar Hedef dosya: /hedef/sen/bar/baz Örnek komut: rsync -a /home/ben/ /home/sen/ /hedef +/- kalıbı: /foo/bar (dikkat: "ben" yok) +/- kalıbı: /bar/baz (dikkat: "sen" yok) Hedef dosya: /hedef/foo/bar Hedef dosya: /hedef/bar/baz Örnek komut: rsync -a --relative /home/ben/ /home/sen /hedef +/- kalıbı: /home/ben/foo/bar (dikkat: tam dosyayolu) +/- kalıbı: /home/sen/bar/baz (keza bu da) Hedef dosya: /hedef/home/ben/foo/bar Hedef dosya: /hedef/home/sen/bar/baz Örnek komut: cd /home; rsync -a --relative ben/foo sen/ /hedef +/- kalıbı: /ben/foo/bar (belirtilen yolla başlar) +/- kalıbı: /sen/bar/baz (keza bu da) Hedef dosya: /hedef/ben/foo/bar Hedef dosya: /hedef/sen/bar/baz
Diziniçi Birleştirme Kuralları ve Silme¶
Bir silme seçeneği olmaksızın, diziniçi birleştirme kuralları sadece gönderen tarafı ilgilendirir, dolayısıyla aktarımı etkilemeksizin birleştirme dosyaları rahatça dışlanabilir. Bunu kolayca yapmanın yolu, örnekte görüldüğü gibi bu dışlamayı sağlayacak ’e’ belirtecini eklemektir. Bu iki komut eşdeğerdir:
rsync -av --filter=’: .hrc’ --exclude=.hrc konak:kaynak/dizin /hedef rsync -av --filter=’:e .hrc’ konak:kaynak/dizin /hedef
rsync -avF --delete-after konak:kaynak/dizin /hedef
rsync -av --filter=’: .kural’ --filter=’. /benim/ek.kuralım’ \
--delete konak:kaynak/dizin /hedef
Aşağıdaki örnekte, uzak taraf .rsync-filter dosyalarını aktarımdan dışlamaktadır, ancak alıcı tarafta neyin silineceğini denetim altına almak için kendi .rsync-filter dosyalarımızı kullanmak istiyoruz. Bunu yapmak için diziniçi birleştirme dosyalarını özellikle dışlamalı (böylece silinmezler) ve neyin silinip silinmeyeceğini denetim altına almak için kuralları yerel dosyalara koymalıyız:
rsync -av --filter=’:e /.rsync-filter’ --delete \
konak:kaynak/dizin /hedef rsync -avFF --delete konak:kaynak/dizin /hedef
TOPLU İŞLEM DOSYASI KİPݶ
Toplu işlem dosyası kipi bir çok sistem için aynı olan güncellemeleri uygularken kullanılabilir. Bir dizin ağacının çok sayıda konak üzerinde kopyalarının bulunduğunu varsayalım. Şimdi, kaynak ağacında bazı değişiklikler olduğunu ve bunların diğer konaklara da aktarılması gerektiğini varsayalım. Bu işlemi toplu işlem dosyası kipini kullanarak yapmak için, rsync, kaynak ağacındaki değişiklikleri hedef ağaçlardan birinde uygulayan --write-batch seçeneği ile çalıştırılır. --write-batch seçeneği, yapılan işlemlerin aynı dizin ağacını içeren hedeflerde uygulanmak üzere bir "toplu işlem dosyası" içinde saklanmasını sağlar.
Toplu iş dosyasını bir kez oluşturmak, birden çok hedef ağacı güncellerken dosya durumu, sağlama toplamı ve veri bloğu oluşturma işlemlerini her defasında yeniden gerçekleştirme zorunluluğundan kurtarır. Aynı verileri her konağa ayrı ayrı göndermek yerine, toplu güncelleme dosyalarını birçok konağa aynı anda aktarmak için çok noktaya yayın aktarım protokolleri kullanılabilir.
Kaydedilen değişiklikleri diğer hedef ağaçlara uygulamak için rsync, bu dosyanın ismi --read-batch seçeneğinde belirtilerek çalıştırılır. rsync, toplu işlem dosyasında saklanmış bilgileri kullanarak hedef ağacı günceller.
Rahat olsun diye, --write-batch seçeneği kullanılırken ek bir dosya daha oluşturulur. Bu dosyanın ismi, toplu işlem dosyasının isminin sonuna ".sh" eklenerek oluşturulur. Bu .sh dosyası toplu işlem dosyasını kullanarak hedefi güncelleyecek komut satırını içerir. Bir Bourne (ya da benzeri) kabuk kullanılarak çalıştırılabilir. İsteğe bağlı olarak özgün yol yerine hedef ağacın dosya yolu aktarılabilir. Bu, hedef ağacın dosya oluşturulurken kullanılandan farklı olduğu durumlarda yararlıdır.
Örnekler:
$ rsync --write-batch=foo -a konak:/kaynak/dzn/ /hedef1/dzn/ $ scp foo* uzak: $ ssh uzak ./foo.sh /hedef2/dzn/ $ rsync --write-batch=foo -a /kaynak/dzn/ /hedef1/dzn/ $ ssh uzak rsync --read-batch=- -a /hedef2/dzn/ <foo
- ○
- İlk örnek ilk kopyanın yerel olmayacağını gösterir -- her iki yönde de aktarım için uzak kabuk sözdizimi veya rsync artalan süreci sözdizimi kullanılabilir.
- ○
- İlk örnek uzak konak üzerinde --read-batch seçenekli komutu çalıştırırken doğru rsync seçeneklerini oluşturulan "foo.sh" dosyasından alır.
- ○
- İkinci örnek toplu işlem verisini standart girdiden okur, böylece toplu işlem dosyasının önce uzak konağa kopyalanması gerekmez. Bu örnek, değiştirilmiş bir --read-batch seçeneğinin kullanılmasını gerektirdiğinden "foo.sh" betiği kullanılmamıştır, fakat betiği kullanmak için dosya düzenlenebilir (ancak, başka bir seçeneğin (--exclude-from=- gibi) standart girdiyi kullanmadığından emin olunmalıdır).
Yetersizlikler¶
--read-batch seçeneği, hedef ağacın, betiğin oluşturulduğu hedefteki ağaçla aynı olacağı varsayımına dayanır. Hedef ağaçta bir fark saptandığında işlem ya bir uyarı ile iptal edilir (dosya güncel görünüyorsa) ya da dosya güncellemesi yapılmaya çalışılır ve bundan sonra eğer dosyanın doğrulanması başarısız olursa işlem bir hata üretilerek iptal edilir. Bu, eğer işlem kesintiye uğratılırsa toplu okuma işleminin yeniden başlatılmasının güvenli olması gerektiği anlamına gelir. Eğer toplu güncellemenin dosyanın boyutuna ve tarihine bakılmaksızın daima yapılabilmesi istenirse, -I seçeneği kullanılabilir (toplu işlem dosyası okunurken). Eğer bir hata oluşursa, hedef ağaç bir ihtimal, kısmen güncellenmiş durumda olacaktır. Bu durumda, rsync toplu güncelleme ile değil, normal işlemle kullanılarak hedef ağaç düzeltilebilir.
Tüm hedeflerde kullanılan rsync sürümü, toplu işlem dosyasını üretmekte kullanılan kadar yeni olmalıdır. Eğer, toplu işlem dosyasının protokol sürümü onu okuyan rsync’in sürümünden daha yeni ise rsync bir hata vererek sonlanacaktır. Ayrıca, eski bir rsync sürümünün anlayabileceği rsync üretimi bir toplu işlem dosyasının oluşturulma yöntemi için --protocol seçeneğine bakılabilir. (2.6.3 sürümünde toplu işlem dosyalarının biçemi değiştiğinden, bu sürümden eski ve yeni sürümlerin toplu işlem dosyaları bir diğerinde çalışmayacaktır.)
Bir toplu işlem dosyası okunurken, siz belirtmemiş olsanız bile, işlem dosyası üretilirken kullanılan ve veriler için gerekli olan bazı seçenekler zorunlu olarak kullanılacaktır. Diğer seçenekler değiştirilebilir, hatta değiştirilmelidir de. Örneğin, --write-batch seçeneği --read-batch seçeneği olarak değişmeli, --files-from seçeneği kullanılmamalıdır, bunun yanında --filter/--include/--exclude seçenekleri ise --delete seçeneklerinden biri belirtilmedikçe gerekli olmaz.
betik.sh dosyasını oluşturan kod, kabuk betiğinin sonuna tek bir listeye dönüştürerek --filter/--include/--exclude seçeneklerini bir belge niteliğinde ekler. Tecrübeli bir kullanıcı bu bilgiyi --delete tarafından silinmesi istenenlerde bir değişiklik varsa, dışlama listesini değiştirmekte kullanabilir. Normal bir kullanıcı ise, bu ayrıntıları yoksayabilir ve betikli veriyi uygun --read-batch komutuyla çalıştıran kabuk betiğini kullanabilir.
rsync’deki özgün toplu işlem kipi "rsync+" üzerine inşa edilmiş olsa da en son sürümde yeni bir gerçeklenim kullanılmaktadır.
SEMBOLİK BAĞLAR¶
rsync kaynak dizini içinde bir sembolik bağ saptadığında üç temel davranış sözkonusudur:
- Öntanımlı olarak, sembolik bağlar oldukları gibi aktarılmazlar. Bir sembolik bağ varsa, "skipping non-regular file" (normal dosya olmadığından atlanıyor) iletisini alırsınız ve dosya atlanır.
- Eğer --links seçeneği belirtilmişse, sembolik bağlar alıcı tarafta aynı hedefle yeniden oluşturulur. BİLGİ: --archive seçeneği örtük olarak --links seçeneğini uygular.
- Eğer --copy-links seçeneği belirtilmişse, alıcı tarafa sembolik bağın ismiyle hedefindeki dosya aktarılır.
- Uyarı:
- --safe-links seçeneğinin etkili olabilmesi için --links seçeneğinin de belirtilmesi gerekir.
Mutlak yol içeren (/ ile başlayan) sembolik bağlarla, boş ve bulunulan dizinden daha yukarıdaki dizinleri gösteren ".." bileşenlerini içeren sembolik bağlar güvensiz olarak kabul edilir.
Sembolik bağ seçeneklerinin yorumlanışı aşağıda özetlenmiştir. Liste öncelik sırasına göredir, bu nedenle kullanılan seçeneklerin tamamını içeren bir şık yoksa en yakın kısmi eşleşmeyi içeren ilk şık kullanılmalıdır:
- 1.
- --copy-links Tüm sembolik bağlar dizin veya dosyaya dönüştürülür (diğer seçeneklerden etkilenebilecek hiçbir sembolik bağ bırakmamacasına).
- 2.
- --copy-dirlinks Dizin sembolik bağları gerçek dizinlere dönüştürülür, diğer tüm sembolik bağlar aşağıdaki gibi ele alınır.
- 3.
- --links --copy-unsafe-links Güvenli olmayan sembolik bağlar dosyalara dönüştürülür, güvenli olanların tamamı oluşturulur.
- 4.
- --copy-unsafe-links Güvenli olmayan sembolik bağlar dosyalara dönüştürülür, güvenli olanlar uyarı verilerek atlanır.
- 5.
- --links --safe-links Alıcı, aktarımda bulunan güvenli olmayan sembolik bağları oluşturmayı atlar ve güvenli olanları oluşturur.
- 6.
- --links - Tüm sembolik bağlar oluşturulur.
--keep-dirlinks seçeneği aktarımdaki sembolik bağları değil alıcı taraftaki dizin sembolik bağlarının ele alınışını etkiler. Seçeneğin açıklamasında bu konuda bir uyarı bulunmaktadır.
TANI KOYMA¶
rsync ara sıra biraz şifreli gibi görünen hata iletileri üretir. Bunlardan biri, en kafa karıştıcı olanı, "protocol version mismatch -- is your shell clean?" (protokol sürümü uyuşmazlığı -- kabuğunuz temiz mi?) iletisidir.
Bu ileti genellikle, rsync’in aktarım için kullandığı akım üzerinde istenmeyen veriler üreten uzak kabuk oluşumları ya da başlatma betiklerinizden kaynaklanır. Bu soruna tanı koymanın yolu, uzak kabuğu şöyle çalıştırmaktır:
ssh uzakkonak /bin/true > out.dat
Süzme kalıplarında hata ayıklamak için, -vv seçeneği belirtilebilir. rsync, bu ayrıntı seviyesinde dosyaların tek tek neden içerildiğini veya dışlandığını gösterecektir.
ÇIKIŞ DEĞERLERݶ
0 - Başarılı
1 - Sözdizimi ya da kullanım hatası
2 - Protokol uyumsuzluğu
3 - girdi/çıktı dosyalarını,
dizinlerini seçerken oluşan hatalar
4 - İstenen eylem desteklenmiyor, iki olasılık
var:
- 64 bitlik dosyaları desteklemeyen bir platformda bu tür dosyalarla çalışılmak isteniyordur.
- İstemci tarafından desteklendiği halde sunucu tarafından desteklenmeyen bir seçenek kullanılmıştır.
6 - Artalan süreci günlüğe kayıt ekleyemiyor
10 - Soket G/Ç hatası
11 - Dosya G/Ç hatası
12 - rsync protokolü veri akımında hata
13 - Uygulama tanılarında hata
14 - Süreçlerarası iletişim (IPC) kodunda hata
20 - Bir SIGUSR1 veya SIGINT alındı
21 - waitpid() bazı hatalar döndürdü
22 - nüve bellek tamponları ayrılırken hata
23 - Hatadan dolayı kısmî aktarım
24 - Gözden kaçan kaynak dosyalarından dolayı kısmî aktarım
25 - --max-delete sebebiyle silme işlemi durdu
30 - Veri aktarımında zamanaşımı
35 - Artalan süreci bağlantısı için sürenin dolması bekleniyor
ORTAM DEĞİŞKENLERݶ
- CVSIGNORE
- .cvsignore dosyalarındaki gibi yoksayılacak kalıpları belirtmek için kullanılır. Daha fazla bilgi için bkz: --cvs-exclude
- RSYNC_ICONV
- --iconv seçeneğinin öntanımlısını belirtmek için kullanılır. 3.0.0 sürümünden itibaren desteklenmektedir.
- RSYNC_OLD_ARGS
- --old-args seçeneğinin öntanımlı
olarak etkin olması için "1", tekrarlanan
seçenek durumunun etkin olması için bir veya daha
fazla sayıda "2" veya öntanımlı
olarak etkin ise iptal etmek için "0" atanabilir. Bu
ortam değişkenine sıfırdan farklı bir
değer atandığında, RSYNC_PROTECT_ARGS
değişkeninin yerini alır.
--old-args, --no-old-args veya --protect-args seçeneği kullanıldığında bu değişken yok sayılır.
3.2.4 sürümünden itibaren desteklenmektedir.
- RSYNC_PROTECT_ARGS
- --protect-args seçeneğinin
öntanımlı olarak etkin olması için
sıfırdan farklı bir değer
atanmalıdır. Öntanımlı olarak etkin ise
iptal etmek için "0" atanmalıdır.
--old-args, --no-old-args veya --protect-args seçeneği kullanıldığında bu değişken yok sayılır.
3.1.0 sürümünden itibaren desteklenmektedir. 3.2.4 ve sonrasında RSYNC_OLD_ARGS değişkenine sıfırdan farklı bir değer atanmışsa bu değişken yok sayılır.
- RSYNC_RSH
- rsync tarafından kullanılan öntanımlı kabuğun yerine kullanılacak kabuğu belirtmek için kullanılır. Komut isminden sonra komut satırı seçeneklerine --rsh (-e) seçeneğindeki gibi izin verilir.
- RSYNC_PROXY
- rsync sunucusuna bağlanırken rsync istemcisi tarafından kullanılacak vekil sunucuyu belirtmek için kullanılır. Değeri bir konak:port çifti olarak belirtilmelidir.
- RSYNC_PASSWORD
- Kimlik kanıtlaması gerektiren bir rsync sunucusuna bağlanırken komut satırında parola belirtmek zorunda kalmamak için parola bu değişkene atanabilir. Aktarım ssh gibi bir kabuk üzerinden gerçekleştiriliyorsa bu değişkene bakılmayacaktır.
- USER veya LOGNAME
- USER veya LOGNAME değişkenleri bir rsync sunucusuna gönderilecek kullanıcı ismini belirlemek için kullanılır. Böyle bir tanım yapılmamışsa, öntanımlı kullanıcı ismi olarak "nobody" kullanılır. İkisine de tanımlama yapılmışsa USER önceliklidir.
- RSYNC_PARTIAL_DIR
- Bu ortam değişkeni, kısmi aktarım etkinleştirmesi yapılmaksızın kısmi aktarım için kullanılacak dizini belirtir. Tüm ayrıntılar için --partial-dir seçeneğine bakılabilir.
- RSYNC_COMPRESS_LIST
- Bu ortam değişkeni, ardışık bir sıra veya azaltılmış bir ad listesi belirterek sıkıştırma algoritması uzlaşımının özelleştirilmesine olanak tanır. Kullanılabilir sıkıştırıcıların adlarını görmek için rsync --version komutu kullanılabilir. Tüm ayrıntılar için --compress seçeneğine bakılabilir.
- RSYNC_CHECKSUM_LIST
- Bu ortam değişkeni, ardışık bir sıra veya azaltılmış bir ad listesi belirterek sağlama toplamı algoritması uzlaşımının özelleştirilmesine olanak tanır. Kullanılabilir sağlama toplamlarının adlarını görmek için rsync --version komutu kullanılabilir. Tüm ayrıntılar için --checksum-choice seçeneğine bakılabilir.
- RSYNC_MAX_ALLOC
- Bu ortam değişkeni, --max-alloc seçeneğinin yaptığı gibi ayrılabilecek azami bellek miktarını belirtmekte kullanılır.
- RSYNC_PORT
- Bu ortam değişkeni rsync tarafından okunmaz, bunun yerine rsync’in sunucu bağlantısıyla çalıştığı uzak kabuğun ortamında atanır. Bu, rsync-ssl(1) gibi bir betiğin, kullanıcının komut satırında belirttiği port numarasını bilmesini sağlar.
- HOME
- Kullanıcının öntanımlı .cvsignore dosyasını bulmakta kullanılır.
- RSYNC_CONNECT_PROG
- Bu ortam değişkeni, sunucu bağlantısı yaparken kullanılacak uygulamayı belirtmek için çoğunlukla hata ayıklama kurulumlarında kullanılır. Tüm ayrıntılar için bkz: RSYNC ARTALAN SÜRECİNE BAĞLANMAK
- RSYNC_SHELL
- Bu ortam değişkeni, çoğunlukla RSYNC_CONNECT_PROG tarafından belirtilen uygulamanın çalıştırılacağı kabuğu belirtmek için hata ayıklama kurulumlarında kullanılır. Tüm ayrıntılar için bkz: RSYNC ARTALAN SÜRECİNE BAĞLANMAK
İLGİLİ DOSYALAR¶
/etc/rsyncd.conf veya rsyncd.conf
İLGİLİ BELGELER¶
HATALAR¶
- Zamanlar unix time_t türünden değerler olarak aktarılır.
- Dosyalar FAT dosya sistemine aktarılırken, rsync dosyalarda değişiklik yapmayabilir. Bkz: --modify-window.
- Dosya izinleri, aygıtlar, vs. temel sayısal değerleriyle aktarılır.
- Ayrıca, bkz: --delete.
- Lütfen hataları raporlayınız! Hataları raporlamak için bkz: https://rsync.samba.org/.
DAHİLİ SEÇENEKLER¶
--server ve --sender seçenekleri rsync tarafından dahili olarak kullanılır ve normal şartlar altında asla bir kullanıcı tarafından kullanılmamalıdır. Yalnızca bir rsync komutunu çalıştırabilen bir oturum açmak gibi belirli senaryolarda bu seçenekler hakkında biraz bilgi sahibi olmak gerekebilir. Örneğin, rsync paketinin support dizininde, kısıtlı bir ssh oturumu açmak için kullanılabilen rrsync (restricted -kısıtlı- rsync) adında örnek bir betik bulanmaktadır.
RSYNC HAKKINDA¶
rsync GNU kamu lisansı altında dağıtılmaktadır. Ayrıntılar için COPYING dosyasına bakılabilir.
Sanalyöremiz: https://rsync.samba.org/
Bu kılavuz sayfasında yanıtlarını bulamadığınız sorular için sanalyöremizde bir SSS bölümü bulunmaktadır.
rsync’in GitHub projesi: https://github.com/WayneD/rsync.
Bu uygulamayı beğeniyorsanız, sizden bunu duymak bizi mennun edecektir.
Bu uygulamada, Jean-loup Gailly ve Mark Adler tarafından yazılmış zlib sıkıştırma kütüphanesi kullanılmaktadır.
TEŞEKKÜR¶
Gidenlere teşekkürler: John Van Essen, Matt McCutchen, Wesley W. Terpstra, David Dykstra, Jos Backus, Sebastian Krahmer, Martin Pool ve aramızdan ayrılan ama unutulmayan yoldaşımız J.W. Schultz’a.
Ayrıca, Richard Brent, Brendan Mackay, Bill Waite, Stephen Rothwell ve David Bell’e de teşekkür ederiz. Unuttuklarım varsa özür dilerim.
YAZAN¶
rsync ilk olarak Andrew Tridgell ve Paul Mackerras tarafından yazıldı. Daha sonra bir çok kişi tarafından geliştirildi. Şu an Wayne Davison tarafından sürdürülmektedir.
Destek ve geliştirme eposta listelerimiz için bkz: https://lists.samba.org
ÇEVİREN¶
© 2005, 2022 Nilgün Belma Bugüner
Bu çeviri özgür yazılımdır:
Yasaların izin verdiği ölçüde
HİÇBİR GARANTİ YOKTUR.
Lütfen, çeviri ile ilgili bildirimde bulunmak veya çeviri
yapmak için https://github.com/TLBP/manpages-tr/issues adresinde
"New Issue" düğmesine tıklayıp yeni
bir konu açınız ve isteğinizi belirtiniz.
15 Nisan 2022 | rsync 3.2.4 |