创build.tar.gz文件时不包括目录

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

现在我正在尝试创build一个.tar.gz /public_html/ excluded /tmp/

这是我跑的命令:

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

tar仍然在创build,通过执行ls -sh我可以看到MyBackup.tar.gz已经有大约30GB,而且我确定/public_html/ without /tmp/没有超过1GB的文件。

我做错了什么?

尝试删除最后/排在目录path的末尾

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

尝试将--exclude移到include之前。

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

是的,删除尾部/和(至less在Ubuntu的11.04)所有的path必须是相对或全path。 您不能在同一个命令中混合使用绝对path和相对path。

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

不会排除日志目录

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

将工作

排除目录压缩的正确命令是:

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

确保在源项目和目标项目之前放置 – 排除

你可以在不解压缩的情况下检查tar.gz文件的内容:

 tar -tf backup.tar.gz 

尝试这个

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

排除选项需要包含=符号和"不是必需的。

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