Используйте tar
:
tar -cf my_big_folder.tar /my/big/folder
Восстановите архив с помощью tar -xf my_big_folder.tar -C /
-C перейдет в корневой каталог для восстановления вашего архива, поскольку созданный выше архив содержит абсолютные пути.
РЕДАКТИРОВАТЬ : из-за относительно большого размера архива, было бы лучше отправить его [напрямую] в его окончательное местоположение, используя SSH или точку монтирования облачного ресурса / папки. Например, как предполагает Коул Джонсон :
tar -cf /network/mount/point/my_big_folder.tar /my/big/folder
или
tar -c /my/big/folder | ssh example.com "cat > my_big_folder.tar"
РЕДАКТИРОВАТЬ : Как предлагает Blacklight Shining , если вы хотите избежать абсолютных путей, вы можете перейти к родительскому элементу большой папки и tar
оттуда:
tar -cf /network/mount/point/my_big_folder.tar \
-C /my/big/folder/location the_big_folder
или
tar -cC /my/big/folder/location the_big_folder | \
ssh example.com "cat > my_big_folder.tar"
Личные размышления
Включать ли относительные или абсолютные пути - дело личных предпочтений.
Есть случаи, когда абсолютные пути очевидны, например, для восстановления в ситуации аварийного восстановления. Для локальных проектов или коллекций обычно архивируют дерево каталогов от родительского объекта нужной папки, чтобы избежать загромождения текущего каталога в случае случайной распаковки архива на месте. Если big_folder находится где-то глубоко в стандартной иерархии * NIX , возможно, имеет смысл начать архивирование первой нестандартной папки, от которой отклоняется big_folder, и ее дерева каталогов оттуда.
И, наконец, - педантично - tar
члены архива всегда относительны, так как а) они могут быть восстановлены в любом каталоге и б) tar
удаляют ведущие /
при создании архива. Я лично всегда склонен использовать -C при распаковке архива.
tar
В Linux есть команда.tar -cf long.file.tar folder