Можно просто сделать что-то вроде этого:
$ TZ=Europe/Moscow date
Thu Jun 9 08:34:46 MSD 2011
$ TZ=America/NewYork date
Thu Jun 9 04:34:48 America 2011
Можно найти имена зон в /usr/share/zoneinfo
. Конечно, это требует, чтобы машине, Вы работаете на этом, установили корректное время.
(Вы не можете действительно получить время страной, потому что много стран имеет больше чем один часовой пояс.)
Кому: tar
и gzip
папка, синтаксис:
tar czf name_of_archive_file.tar.gz name_of_directory_to_tar
-
является дополнительным. Если Вы хотите tar
текущий каталог, использовать .
определять это.
Для построения имени файла используйте date
утилита (смотрят на ее страницу справочника для опций доступного формата). Например:
cd /var/www && sudo tar czf ~/www_backups/$(date +%Y%m%d-%H%M%S).tar.gz .
Это создало бы файл, названный чем-то как 20120902-185558.tar.gz
.
На Linux возможности - Ваш tar
также поддержки сжатие BZip2 с j
вместо z
опция. И возможно другие. Проверьте страницу справочника в своей локальной системе.
Примеры наиболее распространенных алгоритмов сжатия
Заголовок вопроса для этого просто «Сжать папку с помощью tar?» Поскольку этот заголовок очень общий, но вопрос и ответ гораздо более конкретны, и из-за очень большого количества просмотров, которые привлек этот вопрос, я подумал, что было бы полезно добавить список дат с -по -. примеров как архивирования/сжатия, так и извлечения/распаковки с различными широко используемыми алгоритмами сжатия.
Они были протестированы с Ubuntu 18.04.4. Они очень просты для общего использования, но их можно легко интегрировать в более конкретное содержание вопросов ОП, используя методы, описанные в принятом ответе, и полезные комментарии выше.
Одна вещь, которую следует отметить для более широкой аудитории, заключается в том, что tar
не будут добавлять необходимые расширения, (такие как.tar.gz
)автоматически -пользователь должен добавить их явно,как показано в командах ниже:
# 1: tar (create uncompressed archive) all files and directories in the current working directory recursively into an uncompressed tarball
tar cvf filename.tar *
# 2: Untar (extract uncompressed archive) all files and directories in an uncompressed tarball recursively into the current working directory
tar xvf filename.tar
# 3: tar (create gzipped archive) all files and directories in the current working directory recursively into a tarball compressed with gzip
tar cvzf filename.tar.gz *
# 4: Untar (extract gzipped archive) all files and directories in a tarball compressed with gzip recursively into the current working directory
tar xvf filename.tar.gz # Note: same options as 2 above
# 5: tar (create bzip2'ed archive) all files and directories in the current working directory recursively into a tarball compressed with bzip2
tar cvjf filename.tar.bz2 * # Note: little 'j' in options
# 6: Untar (extract bzip2'ed archive) all files and directories in an tarball compressed with bzip2 recursively into the current working directory
tar xvf filename.tar.bz2 # Note: same options as 2 and 4 above
# 7: tar (create xz'ed archive) all files and directories in the current working directory recursively into a tarball compressed with xz
tar cvJf filename.tar.xz * # Note: capital 'J' in options
# 8: Untar (extract xz'ed archive) all files and directories in an tarball compressed with xz recursively into the current working directory
tar xvf filename.tar.xz # Note: same options as 2, 4, and 6 above
Для получения дополнительной информации см. справочную страницу tar (, которую лучше всего использовать man tar
на конкретной машине ). Ниже я резюмирую параметры, использованные выше, прямо из справочной страницы :
-c, --create
create a new archive-x, --extract, --get
extract files from an archive-v, --verbose
verbosely list files processed-z, --gzip
filter the archive through gzip-j, --bzip2
filter the archive through bzip2-J, --xz
filter the archive through xz-f, --file=ARCHIVE
use archive file or device ARCHIVE
Нет необходимости добавлять -
перед комбинированными параметрами или знак =
между параметром f
и именем файла.
Все это я почерпнул из своей недавней статьи , которая будет расширена до гораздо более полной статьи, поскольку у меня будет время поработать над ней.
sudo tar -czf ~/www_backups/$time.tar /var/www/"
Предположите, что у меня есть файл под названием test.txt внутри/var/www. После создания копии tar файла, когда я извлеку его, это будет помещено внутри/var/www каталоги. Это имеет смысл? Я надеюсь, что это делает, довольно трудно для объяснения. Я проверю на поддержку BZip2, спасибо за предложение! – qwerty 02.09.2012, 20:27cd
к каталогу Вы хотите упаковать, затемtar cf file.tar .
- это длится.
вместо того, чтобы указать полный путь сделает пути в архиве относительно текущего каталога. Вы могли также использовать-C
опция для tar (смотрят на страницу справочника). – Mat 02.09.2012, 20:29-f
(из страницы справочника)Read the archive from or write the archive to the specified file.The filename can be - for standard input or standard output.
– Kolob Canyon 27.12.2016, 22:02sudo
был в вопросе, не изменился или вопрос это. Наличие резервного целевого каталога, ограниченного корнем, не является плохой идеей все же. – Mat 26.02.2018, 20:34