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


63

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

Ответы:


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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.