Как создать резервную копию из символических ссылок?

63

У меня есть каталог с символическими ссылками на другие каталоги. Я хочу заархивировать символические ссылки не как ссылки, а как архивы, содержащие файлы каталогов, на которые они ссылаются, используя команду tar. Как я могу это сделать?

hknik
источник

Ответы:

92

Используйте -hопцию tar. Со страницы руководства:

-h, --dereference
    don't archive symlinks; archive the files they point to
Мат
источник
4
Если у меня есть / sym1 указывает на / резервные копии и / sym2 указывает на / резервные копии, тогда я запускаю tar -hcf file.tar /sym1 /sym2, получу ли я / резервные копии дважды?
Фелипе Альварес
@FelipeAlvarez -Lсчитает файлы один раз, -lнесколько раз. Смотрите здесь .
Suuuehgi
3

Если все ссылки находятся в корневом каталоге, вы можете сделать так, чтобы оболочка разыменовала их и передала tar в качестве аргументов. Например, если у вас есть / backup / source / a и / backup / source / b, обе из которых являются символическими ссылками, указывающими на реальный каталог, будет работать что-то вроде следующего

tar -cf /path/to/backup.tar /backup/source/*/
Патрик
источник
Здесь не работает Кажется, что в tar -cf /path/to/backup.tar /backup/source/a/одиночку даже не работает, когда aэто символическая ссылка.
Zero3