Linux
如何在不離開原始文件夾且不刪除原始文件夾的情況下壓縮文件夾
SQL目錄下我們只有tmp文件夾(tmp文件夾使用量59G)
是否可以在不離開原始 tmp 文件夾的情況下壓縮 tmp 文件夾?,因此壓縮將在原始文件夾上起作用
文件夾使用:
root@serverE1:/var/backup/SQL # du -sh * 59G tmp
所以壓縮後我只會看到這個:(8G只是例子)
8G tmp.tar.gz
有兩個問題需要解決:
- 如何在不影響輸出的情況下刪除文件,以及
- 在創建輸出時放置輸出的位置。
如果您碰巧在 中沒有任何點文件
/var/backup/SQL
,那很簡單:
- 只需創建以“。”開頭的輸出命名,
--remove-files
使用該選項添加到 tar 文件中,並且- 將輸出重命名為
tmp.tar.gz
完成時。就像是
cd /var/backup/SQL tar cfz .tmp.tar.gz --remove-files * && mv .tmp.tar.gz tmp.tar.gz
如果您確實有點文件,那麼您可以建構要 tar 的文件列表,然後使用該列表建構 tar 文件。使用 Linux,您可以使用
-T
(--files-from
) 選項來閱讀此列表,例如,cd /var/backup/SQL find . -type f >/tmp/list tar czf tmp.tar.gz --remove-files --files-from /tmp/list
(有人肯定會建議程序替換而不是臨時文件,但這具有大小有限的缺點,這可能是一個問題)。