1

У меня есть каталог, полный инкрементных резервных копий (~ 20 ГБ), которые мне нужно скопировать (или переместить) из одного раздела в другой. Этот каталог содержит ежедневные снимки, которые были созданы с использованием cp -al для создания символических ссылок для дублирования файлов, а не копий.

Мне нужно скопировать эту структуру как есть, сохранив ссылки внутри, но когда я запускаю cp -r, создается впечатление, что файлы создаются, а не ссылки (я предполагаю, что это потому, что копия использует больше свободного места на диске, чем оригинал). после того, как небольшая часть его скопирована).

Как я могу скопировать этот каталог на другой диск, сохранив при этом структуру ссылок? И как я могу узнать, что это скопировано как ссылки? (кажется, трудно проверить, так как du включает размер файла независимо)

2 ответа2

2

tar может быть полезен, например

tar cf - . | (cd /otherdirectory; tar xvf -)
1

Используйте rsync . Из его справочной страницы:

          rsync -avz foo:src/bar /data/tmp

   This  would  recursively transfer all files from the directory src/bar on the machine foo into the /data/tmp/bar directory on the local machine. The files are transferred in "archive" mode, which ensures that sym‐
   bolic links, devices, attributes, permissions, ownerships, etc. are preserved in the transfer.  Additionally, compression will be used to reduce the size of data portions of the transfer.

Для чего стоит du может следовать символическим ссылкам или нет:

   -L, --dereference
          dereference all symbolic links

   -P, --no-dereference
          don't follow any symbolic links (this is the default)

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