Değiştirilmiş dosyaları yalnızca ext4'ten NTFS'ye senkronize ederken göster


9

RSync'in değiştirilmiş ve silinmiş dosyaları yazdırmasını istiyorum. Ayrıntılı seçenek (-v), değiştirilen dosyaları yazdırır, ancak aynı zamanda alt dizinlerin listesini de yazdırır, çünkü dokunulan dizinler değiştirilmiş sayılır. Birçok alt dizinden çok sayıda dosyayı senkronize ettiğim için, gerçek değişiklikleri görmek imkansız.

Yani, rsync kullanarak dizin yazdırmak için bir yolu var mı?

grep -v "*/$"Yeni dizinleri de hariç tutacağı için cevap aramıyorum .

Komut kullanıyorum: rsync -avh --delete /media/data/src /media/data/bkp

Ve her zaman tüm dizinlerin listesini yazdırır:

src/dir1/

src/dir1/sdir1/

src/dir1/sdir2/

src/dir2/

DÜZENLEME: Tamam, bazı yoğun testlerden sonra .. Bir ext4 bölümünden ext4'e ve NTFS'den NTFS'ye eşitleme yaparken tüm dizinleri yazdırmaz. Sadece ext4'ten NTFS'ye senkronize ederken bunu yapar. Ve seçenekler -cya da --omit-dir-timesbunu değiştirmeyin.

Yanıtlar:


4

--omit-dir-timesDizin saatlerini yok saymak için switch'i kullanmayı deneyebilirsiniz (rsync man sayfasına bakınız).

Kişisel olarak, -canahtarın kullanılmasının, yalnızca içeriği değiştirilen dosyaların çıktıda görünmesini sağlamanın en iyi yolu olduğunu düşünüyorum.

Kullanmanın -crsync'i yavaşlatacağını unutmayın .


Yanıtınız için teşekkürler. En azından performans (veya seçenekler) kaybetmeden, yerel olarak desteklenmediğine inanmakta zorlanıyorum .. Sadece hepsini senkronize ettiğine güvenmem gerekecek.
qox

Maalesef, düzenlemem yanıtın ardından soruyu değiştirdi.
qox

1

Bağlama türünü değiştirmek yerine, rsync'e, onu desteklemeyen bir dosya sistemine kopyalarken dosya izinlerini yoksaymasını da söyleyebilirsiniz. Aşağıdaki komut benim için çalışıyor.

Rsync man sayfasından:

Özetle: hedef dosyalara (hem eski hem de yeni) kaynak izinleri vermek için --perms kullanın. Yeni dosyalara hedef varsayılan izinleri vermek için (varolan dosyaları değiştirmeden bırakırken), --perms seçeneğinin kapalı olduğundan emin olun ve --chmod = ugo = rwX (maskelenmemiş tüm bitlerin etkinleştirilmesini sağlar). Bu son davranışın yazılmasını kolaylaştırmak isterseniz, bu satırı ~ / .popt dosyasına koymak gibi bir açılır takma ad tanımlayabilirsiniz (aşağıdakiler -Z seçeneğini tanımlar ve --no- g hedef dizinin varsayılan grubunu kullanmak için):

rsync alias -Z --no-p --no-g --chmod=ugo=rwX

1

-a kullanmayın, -p -o -g içerir.


İsterseniz kullanmaya devam edebilir -ave ardından --no-o --no-p --no-gsahip, grup ve izinleri atlamak için ekleyebilirsiniz .
Ian Dunn

0

Bir izin sorunu gibi görünüyor. Emin değilim .. Ama NTFS bölümleri için / etc / fstab'ı düzenledim ve şimdi beklendiği gibi çalışıyor, yani değiştirilmemiş dizinlerin yazdırılması yok.

Eski fstab girişi: ntfs-3g kullanıcıları, varsayılanlar, exec, uid = 1000 0 0

Yeni fstab girişi: ntfs-3g kullanıcıları, varsayılanlar, exec, uid = 1000, gid = 1000, dmask = 077, fmask = 137 0 0

Tahmin ediyorum (kim bilir ..) dmask = 077 hile yani 'drwxrwx' yerine 'drwx ---' yaptı.


-1

Kullandım:

sudo rsync -auzhni --progress --omit-dir-times --no-o  src_dir/ dst_dir 

Kuru çalışmadır (isteğe bağlı n). rsyncGerçekten dosya aktarımı yapmak için bu seçeneği kaldırın .

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.