Почему rsync обновляет каталоги NTFS, когда источник не изменился?

Я беру уроки с большим количеством фонетического и грамматического анализа. Они дали мне аккаунт в сети Windows 10. Поскольку мне гораздо удобнее работать с Mac и Linux (и поскольку часы доступности Windows ограничены), я делаю свою работу на своем ноутбуке Mac.

Я автоматически смонтировал свои каталоги NTFS, но есть что-то неловкое со своей локальной сетью, поэтому довольно часто некоторые приложения имеют доступ только для чтения или вообще не имеют доступа.

Следовательно, я работаю в локальной копии и часто изменяю rsync . Но rsync * всегда обновляет каждый каталог NTFS – только каталог, а не файлы (кроме тех, которые я фактически изменил). В большинстве этих каталогов я никогда не плавал, но rsync сообщает об обновлениях вплоть до дерева subdir. Это не майор-финиш в секундах, но это все еще довольно странно.

Что делают Windows и NTFS для каталогов, к которым никогда не обращались, что делает rsync, кажется, они изменились?

Разрешить сравнение модов с уменьшенной точностью

Он появляется в этом типе установки, где вы монтируете в раздел NTFS, который вы хотите, чтобы вы использовали соответствующие параметры, такие как --modify-window=5 чтобы увеличить значение по умолчанию, чтобы обеспечить сравнение модов с уменьшенной точностью.

 --modify-window When comparing two timestamps, rsync treats the timestamps as being equal if they differ by no more than the modify-window value. This is normally 0 (for an exact match), but you may find it useful to set this to a larger value in some situations. In particular, when transferring to or from an MS Windows FAT filesystem (which represents times with a 2-second resolution), --modify-window=1 is useful (allowing times to differ by up to 1 second). 

Дополнительные ресурсы

  • RSYNC
  • Rsync – справочная страница

Сначала ответьте на проблемы, связанные с чтением. Поскольку сетевой ресурс управляется окнами, окна позволяют только определенным привилегиям пользователей делать что-то. Это может быть его общий ресурс, IE любой может просматривать его для загрузки ect файлов, но не изменять его, если специально не добавить, чтобы иметь возможность сделать это. Поскольку вы используете Mac, который похож на Linux. Не каждое приложение linux, которое вы используете, использует то же имя пользователя, которое вы в настоящее время зарегистрировали на вашем Mac или Linux. Поэтому, поскольку программа не использует имя пользователя, зарегистрированное в вашем аккаунте, ему не предоставляется привилегия для редактирования файлов в соответствии с окнами, поскольку имя пользователя не совпадает.

Во-вторых, Rsync является рекурсивным. Значит, он будет проходить через все каталоги. Если вы не ограничиваете его конкретным каталогом, но даже если вы ограничиваете его до 1 каталога, он будет продолжать просматривать все каталоги, которые находятся в каталоге, в котором он был запущен. Это то, что он должен делать. Следовательно, это называется рекурсивной синхронизацией. Теперь причиной обновления каталогов, а не файлов может быть то, как rysnc получает временную метку из каталогов. Возможно, потому, что в его каталогах с окнами 10 нет измененной или доступной метки времени, только временная метка, когда каталог был создан, тогда как в файлах есть все эти временные метки, которые используется rsync для определения необходимости обновления каталогов или файлы.

Явно исключаю -a неявные параметры с помощью --no-OPTION

Комментарий:

Добавление окна изменения в «rsync -av -bwlimit = 200 -delete -modify-window = 5 (HFS +) (NTFS)» заставило его прекратить обновление непосещенных каталогов. Но через день он сделал это снова . Непосредственный повтор не обновил их. Вход в Windows заставлял это происходить снова. НО, с тех пор, это происходит КАЖДЫЙ раз, независимо от того, зарегистрирован ли он в Windows или нет. Даже если команды rsync разделены на две секунды. Опять же, даже при ненужных обновлениях требуется всего лишь секунда, так что это не имеет большого значения. Но это делает чтение списка файлов менее удобным. WGroleau

Рассмотрите возможность тестирования с помощью этих опций для решения:

  •   --size-only skip files that match in size -c, --checksum skip based on checksum, not mod-time & size -O, --omit-dir-times omit directories from --times 

    источник


Дополнительно. , ,

Поскольку -a ( --archive ) включает неявные параметры и эквивалентен параметрам -rlptgoD :

  •  -r, --recursive recurse into directories -l, --links copy symlinks as symlinks -p, --perms preserve permissions -t, --times preserve modification times -g, --group preserve group -o, --owner preserve owner (super-user only) -D same as --devices --specials 

    источник

Вам может потребоваться явно опустить некоторые из этих параметров с помощью --no-OPTION чтобы гарантировать, что определенные атрибуты [игнорируются] не сравниваются между этими двумя различными файловыми системами, которые вы синхронизируете.

Например, добавьте один из них, например:

  • --no-o игнорирует атрибут владельца
  • --no-g игнорирует атрибут группы
  • --no-times игнорирует атрибуты времени

Важно: порядок параметров важен: если вы укажете --no-r -a , параметр -r будет включен, противоположный -a --no-r .

  •  --no-OPTION You may turn off one or more implied options by prefixing the option name with lqno-rq. Not all options may be prefixed with a lqno-rq: only options that are implied by other options (eg --no-D, --no-perms) or have different defaults in various circumstances (eg --no-whole-file, --no- blocking-io, --no-dirs). You may specify either the short or the long option name after the lqno-rq prefix (eg --no-R is the same as --no-relative). For example: if you want to use -a (--archive) but don't want -o (--owner), instead of converting -a into -rlptgD, you could specify -a -- no-o (or -a --no-owner). The order of the options is important: if you specify --no-r -a, the -r option would end up being turned on, the opposite of -a --no-r. Note also that the side-effects of the --files-from option are NOT positional, as it ' affects the default state of several options and slightly changes the meaning of -a (see the --files-from option for more details). 

    источник


Дополнительные ресурсы

  • RSYNC
  • Rsync – справочная страница
  • Перенаправить все SSH-трафик через сервер «посредника»
  • Rsync медленная копия с одного диска на другой
  • Как эффективно перемещать большой, пустой образ диска в другую систему
  • Как сказать rsync пропустить файлы на поврежденном блоке жесткого диска, а не застревать, пытаясь его прочитать
  • Разрешение rsync запретило резервное копирование удаленного каталога на локальную машину
  • Как синхронизировать домашнюю папку между несколькими компьютерами?
  • Rsync --remove-source-файлы удаляет исходные файлы по одному или после завершения rsync?
  • Rsync как фоновый процесс?
  • Каков наилучший способ выполнения ежедневных / еженедельных / ежемесячных резервных копий?
  • Разность Rsync между двумя каталогами в 3-й каталог
  • Как установить переменные среды для удаленного процесса rsync?
  • Давайте будем гением компьютера.