关于Linux:创建.tar.gz文件时排除目录

Excluding directory when creating a .tar.gz file

我有一个/public_html/文件夹,在那个文件夹中有一个/tmp/文件夹,它有70GB的文件,我真的不需要。

现在我正试图创建一个.tar.gz/public_html/,不包括/tmp/

这是我运行的命令:

1
tar -pczf MyBackup.tar.gz /home/user/public_html/ --exclude"/home/user/public_html/tmp/"

tar还在创建中,通过执行ls -sh,我可以看到MyBackup.tar.gz已经有大约30GB的容量,而且我确信没有/tmp//public_html/的文件不超过1GB。

我做错了什么?


试着把最后的/最后的方向排除在外

1
tar -pczf MyBackup.tar.gz /home/user/public_html/ --exclude"/home/user/public_html/tmp"


试着在包括之前移动--exclude

ZZU1


是的,清除/和(最起码在Ubuntu 11.04)所有给出的道路必须是相对的或完整的。你不能在同一命令中混淆绝对和相对的路径。

1
sudo tar -czvf 2011.10.24.tar.gz ./start-directory --exclude"home/user/start-directory/logs"

访友脚印暂没有访客留下脚印!

1
sudo tar -czvf 2011.10.24.tar.gz ./start-directory --exclude"./start-directory/logs"

威尔工作


The correct command for exclude directory from compression is:

1
tar --exclude='./folder' --exclude='./upload/folder2' -zcvf backup.tar.gz backup/

确保输入--在来源和目的地项目之前被排除在外。

而且你可以检查TAR.GZ文件中的内容而不拉链:

1
tar -tf backup.tar.gz

试试这个

1
tar -pczvf advancedarts.tar.gz /home/user/public_html/ --exclude /home/user/public_html/tmp

This worked for me:

1
tar -zcvf target.tar.gz target/ --exclude="target/backups" --exclude="target/cache"


接受的答案并不是为我工作,而是在窗口上奔跑。Instead,I had to put the files/dirs to archive as the last parameter,like this:

1
tar -pczf MyBackup.tar.gz --exclude"/home/user/public_html/tmp/" /home/user/public_html/

然后它工作。


你也可以用一个--exclude排除更多的人。Like this example:

1
tar -pczf MyBackup.tar.gz --exclude={"/home/user/public_html/tmp","/home/user/public_html/data"} /home/user/public_html/

你必须在没有/的情况下完成目录名称,并且必须在Mybackup.tar.gz和/home/user/public〔uhtml〕

The syntax is:

1
tar <OPTIONS> <TARBALL_WILL_CREATE> <ARGS> <PATH_TO_COMPRESS>

不需要列入=Sign and "选项。

1
--exclude=/home/user/public_html/tmp