Я хотел бы, чтобы rsync печатал измененные и удаленные файлы. Опция verbose (-v) печатает измененные файлы, а также список подкаталогов, возможно, потому что затронутые каталоги считаются измененными. Поскольку я синхронизирую множество файлов из множества подкаталогов, невозможно увидеть реальные изменения.
Итак, есть ли способ не печатать каталоги с помощью rsync?
Я не ищу grep -v "*/$"
вид ответов, так как это также исключило бы новые каталоги.
Команда, которую я использую: rsync -avh --delete /media/data/src /media/data/bkp
И каждый раз печатает список всех каталогов:
src/dir1/
src/dir1/sdir1/
src/dir1/sdir2/
src/dir2/
РЕДАКТИРОВАТЬ: Хорошо, после некоторых интенсивных тестов .. Он не печатает все каталоги при синхронизации из раздела ext4 в ext4 и из NTFS в NTFS. Это происходит только при синхронизации с ext4 в NTFS. И параметры -c
или --omit-dir-times
не изменять это.
Вместо изменения типа монтирования вы также можете указать rsync игнорировать права доступа к файлу при копировании в файловую систему, которая его не поддерживает. Следующая команда работает для меня.
Со страницы руководства rsync:
источник
не используйте -a, он содержит -p -o -g.
источник
-a
если хотите, а затем добавить,--no-o --no-p --no-g
чтобы пропустить владельца, группы и разрешения.Похоже, это была проблема с разрешением. Не уверен почему .. Но я отредактировал / etc / fstab для разделов NTFS, и теперь он работает как положено, то есть не печатает каталоги, которые не были изменены.
Старая запись fstab: пользователи ntfs-3g, значения по умолчанию, exec, uid = 1000 0 0
Новая запись в fstab: пользователи ntfs-3g, значения по умолчанию, exec, uid = 1000, gid = 1000, dmask = 077, fmask = 137 0 0
Я предполагаю (кто знает ..) dmask = 077 сделал трюк, то есть «drwx ---» вместо «drwxrwx».
источник
Я использовал:
Это пробный прогон (опция
n
). Удалите эту опцию, чтобыrsync
фактически передавать файлы.источник