Rsync'in aktarılan dosyaları boğmasını engellemek nasıl?


72

Bir Linux sunucusundaki uzak bir dosya sistemine sahip bir sshfs bağlantı kurulumum var. Yerel sunucumdan ftpfs dosya sistemine bir Rsync yapıyorum. Bu kurulumun doğası gereği chown, sshfs dosya sisteminde hiçbir şey yapamam .

Rsync'i yaptığımda, dosyaları aktardıktan sonra tüm dosyaları kesmeye çalışıyor. Bu, dosyaları çok iyi transfer etmesine rağmen, ortaya çıkan hatalara neden olur.

Rsync ile, dosyaları denemeyi ve yememesini söylemenin bir yolu var mı? 1000 dosya gibi bir rsync varsa, 1000 chown: permission denied (error 13)hatalık bir günlük ile bitirdim. Dosyaların sahipliği, sshfs yapılandırmasının kendisi tarafından belirlendiğinden, bu hataları almanın hiçbir zararı olmadığını biliyorum. Ama onları almamak güzel olurdu.

Yanıtlar:


107

Muhtemelen rsync'i şu şekilde çalıştırıyorsunuz:

rsync -a dir/ remote:/dir/

-aOpsiyon belgelerine göre eşdeğerdir:-rlptgoD

      -a, --archive    archive mode; equals -rlptgoD (no -H,-A,-X)

Muhtemelen -ove -gseçeneklerini kaldırmak istiyorsunuz :

      -o, --owner                 preserve owner (super-user only)
      -g, --group                 preserve group

Öyleyse, rsync komutunuz şöyle görünmelidir:

rsync -rlptD dir/ remote:/dir/

Veya @glglgl'in işaret ettiği gibi :

rsync -a --no-o --no-g dir/ remote:/dir/

Kullanılan diğer seçenekler:

      -r, --recursive             recurse into directories
      -l, --links                 copy symlinks as symlinks
      -p, --perms                 preserve permissions
      -t, --times                 preserve modification times
      -D                          same as --devices --specials
          --devices               preserve device files (super-user only)
          --specials              preserve special files

19
... veya sadece-a --no-o --no-g
glglgl

1
Ben sadece kullandım rsync -r --no-o --no-g /source/* /dest/ve hedefteki dosya sahibi ve grubum hala kaynağa göre değiştirildi. Herhangi bir fikir?
Ram Patra


5

Bu -aseçeneği kullanmayın , çünkü -pizinleri tutan seçeneği de içerecektir . Bu durum -riçin yeterli olmalı.

Daha fazla bilgi için bkz man rsync.


4
-pKaçınmak istediğimden emin misin? Mülkiyet izinlerden farklıdır, doğru mu?
Jake Wilson,

0

Sahipini rsyncalıkoymadığı ve benzer bir şeyle karşılaştığımda , dosya ve dizin grubunun uzak bir sunucudan eşitlendiğini gördüm . Düzeltmek için /etc/shadow, /etc/groupve /etc/passwddosyaların üzerine kopyaladım .

rsyncAşağıdaki komutu çalıştırdığımda izinleri, sembolik bağları ve mülkiyeti elinde tutması için çalıştı.

Parolasız ssh kullanmak için ssh anahtarları ayarlamıştım.

rsync -avpog user@10.1.x.x:/usr/local /usr
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.