rsync: вывод только измененных файлов/атрибутов

rsync: вывод только измененных файлов/атрибутов

Я пытаюсь добиться следующего:

Чтобы проверить, правильно ли я синхронизировал все данные со старого NAS на новый, я выполняю:

rsync --rltD -hvinu /path/to/old/NAS/ /path/to/new/NAS

Теперь: -n дает мне пробный прогон, -ia список изменений, а -u должен пропускать все файлы, более новые на новом NAS (что мне нужно, поскольку на новом NAS уже есть обновления — люди уже работают с ним).

Приведенная выше команда выдает мне список, содержащий следующее для нескольких каталогов:

.d..t

что согласно man-странице означает, что передача не произойдет, но атрибуты (например, время) будут обновлены в цели.

Проверив затронутый каталог, я вижу, что каталог в цели НОВЕ, чем в источнике.

Так что я бы

  1. ожидайте, что вы даже не увидите его в выводе rsync - поскольку его следовало бы пропустить,
  2. эта временная метка не должна обновляться. -Вы должны об этом позаботиться.

Есть ли здесь профессионал rsync, который может объяснить? Что я не понимаю?

Кстати: Это реализация rsync на Qnap NAS (источник) и Synology NAS (цель).

ОБНОВЛЕНИЕ 1:

Похоже, что --update применяется только к файлам, а не к каталогам. rsync делает то, что и должен: сравнивает размер и метку времени последнего изменения и обновляет метку времени в месте назначения до метки в источнике (которая старше).

Я не нашел опции для применения --update к каталогам - однако есть --omit-dir-times, которая будет игнорировать временные метки в каталогах. Применение этой опции также приведет к игнорированию новых каталогов в источнике. Таким образом, добавленный файл в источнике будет синхронизирован с местом назначения, но соответствующее изменение времени его родительского каталога не будет синхронизировано. Я не могу себе представить, чтобы это было ошибкой/недостатком в rsync - должно быть, я что-то здесь упускаю?

Связанный контент