2010-11-27 47 views
86

我有一個/public_html/文件夾,在該文件夾中有一個/tmp/文件夾,它具有70gb的文件,我並不需要它。創建.tar.gz文件時不包括目錄

現在我想創建的/public_html/一個.tar.gz排除/tmp/

這是我跑的命令:

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

仍在產生焦油,並通過做ls -sh我可以看到, MyBackup.tar.gz已經有大約30GB,我知道/public_html/沒有/tmp/沒有超過1GB的文件。

我做錯了什麼?

+2

的可能的複製[Shell命令焦油目錄排除某些文件/文件夾](http://stackoverflow.com/questions/984204/shell-command-to-tar-directory-excluded-certain-files-folders) – 2016-08-26 18:20:12

回答

151

嘗試刪除最後一個/在目錄路徑的末尾排除

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

謝謝,那是「錯誤」。 – suresh 2010-11-27 05:12:13

+0

謝謝,這爲我工作;) – Yuday 2016-02-26 04:00:52

+5

要排除整個文件夾及其內容:tar -pczvf MyBackup.tar.gz/home/user/public_html/--exclude「/ home/user/public_html/tmp/*」 – 2016-11-14 06:08:11

26

嘗試移動--exclude之前的包括。

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

是,移除後/和(至少在Ubuntu 11.04)給定必須是相對的或完整路徑中的所有路徑。您不能在同一命令中混合使用絕對路徑和相對路徑。

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" 

將工作

2

試試這個

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

排除選項需要包括=跡象,並且不需要"

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

從壓縮中排除目錄正確的命令是:

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

確保把--exclude源和目標項目之前。

,你可以檢查tar.gz文件的內容,無需解壓:

tar -tf backup.tar.gz