Я новичок в rsync, но я заметил, что в верхней части списка получения инкрементного файла находится ./

Перезаписывает ли rsync целевой каталог ./ ? Временная метка ./ в пункте назначения совпадает с источником, поэтому я предполагаю, что это так, и я не могу предотвратить это, используя --exclude './' или --exclude '*/'

Код:

rsync -av user@host:/dir1/dir2/ /dir3/dir4/dir5/dir6

В псевдокоде я пытаюсь rsync все файлы внутри dir2 на host в dir6 на локальной машине.

2 ответа2

0

./ и ../ - это ярлыки ОС, созданные по умолчанию.

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

Поскольку вы используете флаг архива, временные метки будут сохранены и, таким образом, будут соответствовать источнику.

-1

Можете ли вы опубликовать точную команду, которую вы используете? Это помогло бы узнать, какие опции вы указываете вместе с исходными и целевыми каталогами. Похоже, вы путаете с исходной записью. Вам необходимо указать, хотите ли вы синхронизировать содержимое исходного каталога или самого каталога. Согласно ручной документации:

Конечная косая черта на источнике изменяет это поведение, чтобы избежать создания дополнительного уровня каталога в месте назначения. Вы можете думать о конце / на источнике как о значении "копировать содержимое этого каталога", а не "копировать каталог по имени", но в обоих случаях атрибуты содержащего каталог передаются в содержащий каталог по месту назначения. Другими словами, каждая из следующих команд копирует файлы одинаковым образом, включая их установку атрибутов / dest / foo:

          rsync -av /src/foo /dest
          rsync -av /src/foo/ /dest/foo

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .