У меня есть две одинаково названные директории с похожими подкаталогами, и я хотел бы объединить содержимое одной в другую. Я пытаюсь использовать rsync для этого и обнаруживаю, что символические ссылки, похоже, были созданы в каталоге назначения, но затем исчезают при следующем доступе к каталогу (я хотел бы сохранить символические ссылки).

Пример (каталог назначения в настоящее время пуст):

Исходный каталог:
/tmp/dir_3

Целевой каталог:
/dir_1/dir_3

Я использую команду rsync:

rsync -av /tmp/dir_3 /dir_1

Вывод команды rsync, по-видимому, указывает на то, что символические ссылки выполняются, и если я перехожу в целевой каталог и сразу же выполняю команду tree он показывает символические ссылки и правильное количество каталогов и файлов (то есть соответствует тому, что находится в целевом каталоге). Однако, во второй раз, когда я запускаю команду tree символические ссылки исчезли, и я могу подтвердить это с помощью ls .

Рассматриваемые символические ссылки немного хитры, но целиком связаны между подкаталогами в каталоге Source. Упрощенный пример:

/tmp/dir_3/data/33/22/bob
это ссылка на
../../../name/id

а также

/tmp/dir_3/name/id/bob
это ссылка на
../../data/33/22

Я также попытался добавить опцию -l к команде rsync, но это, похоже, не имеет значения (и я бы не ожидал, что -a будет копировать ссылки).

Есть идеи, что я делаю неправильно?

0