SQL目录下我们只有tmp文件夹(tmp文件夹使用59G)
是否可以压缩文件夹 tmp 而不保留原始 tmp 文件夹? ,因此压缩将在原始文件夹上进行
文件夹用法:
root@serverE1:/var/backup/SQL # du -sh *
59G tmp
所以压缩后我只会看到这个:(8G只是示例)
8G tmp.tar.gz
答案1
有两个问题需要解决:
- 如何删除文件而不干扰您的输出,以及
- 创建输出时将其放置在何处。
如果您碰巧在 中没有任何点文件/var/backup/SQL
,这很简单:
- 只需创建以“.”开头命名的输出,
- 使用选项添加到 tar 文件
--remove-files
,并且 - 将输出重命名为
tmp.tar.gz
“完成时”。
就像是
cd /var/backup/SQL
tar cfz .tmp.tar.gz --remove-files * && mv .tmp.tar.gz tmp.tar.gz
如果你做有点文件,那么您可以构建要压缩的文件列表,然后使用该列表构建 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
(有人肯定会建议进程替换而不是临时文件,但这有限制大小的缺点,这可能是一个问题)。
答案2
使用文件管理器。示例使用mc
, 导航到SQL/临时表, 打F2, ("压缩当前子目录(tar.gz)“), 然后3, 然后进入,等待归档,上一级,(注意新文件SQL/tmp.tar.gz文件),使用F8删除tmp文件夹。
(mc
将压缩以 ' 开头的所有文件和目录。'也是如此。)