用tar压缩文件夹?


268

我试图压缩文件夹(/var/www/)来~/www_backups/$time.tar这里$time是当前日期。

这就是我所拥有的:

cd /var/www && sudo tar -czf ~/www_backups $time"

我完全迷路了,现在已经呆了几个小时了。不确定是否-czf正确。我只想将所有内容复制/var/www到一个$time.tar文件中,并且我想维护所有文件的文件权限。谁能帮我吗?


你需要一个“上的另一边$time为好。
gauteh

Answers:


372

targzip文件夹,语法为:

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还可以通过j而不是z选项来支持BZip2压缩。可能还有其他。检查本地系统上的手册页。


1
太好了,谢谢。我有一个小问题。创建/ var / www的tar文件后,将其放置在tar文件的/ var / www目录中。这是我现在正在使用的代码, sudo tar -czf ~/www_backups/$time.tar /var/www/"想象一下我在/ var / www中有一个名为test.txt的文件。在将文件的tar复制后,当我解压缩它时,它将放置在/ var / www目录中。那有意义吗?我希望这样做,有点难以解释。我将检查BZip2支持,谢谢您的建议!
qwerty 2012年

1
这就是为什么首先cd进入要打包的目录的原因tar cf file.tar .,最后一个.不是指定完整路径,而是使归档内的路径相对于当前目录。您也可以使用 -Ctar选项(请参见手册页)。
2012年

1
是的,效果更好。谢谢,谢谢!
2012年

3
@Qwertylicious -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,

1
sudo有疑问,没有改变或质疑。但是,将备份目标目录限制为root并不是一个坏主意。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.