首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何给出用tar -cvf压缩文件的条件

如何给出用tar -cvf压缩文件的条件
EN

Unix & Linux用户
提问于 2021-12-20 01:53:53
回答 2查看 120关注 0票数 0

如果我想用tar -cvf压缩文件,是否有任何选项可以提供如下条件?

磁盘0:/centos/user0-15g可用磁盘1:/centos/user1-1G abailable

代码语言:javascript
复制
cd /centos/user0/
 
tar -cvf /centos/user1/test01.tar *

由于/centos/user1有很小的可用磁盘空间,所以如果/centos/user1的可用磁盘空间小于300米,我希望停止压缩。

tar函数上有这样的选项吗?或者有办法这样做吗?

EN

回答 2

Unix & Linux用户

发布于 2021-12-22 01:20:47

与大多数Unix实用程序一样,tar实现了一种功能,即创建存档。它不具备有条件地创建档案或在条件下中止的功能。在正常情况下,后者的效率相对较低,因为它可能涉及定期轮询外部命令。

您可以在用du压缩数据之前检查数据的大小,然后确定是否要创建归档文件。您还可以在子subshell中创建一个后台作业,如果检测到较低的磁盘空间,该作业将杀死tar进程,并删除该文件。但是,后一种方法可能不够快,无法在系统出盘之前终止操作。

最后,您可以创建一个特定的用户并在小磁盘上添加一个配额,这将阻止操作在超出配额的情况下完成。您仍然需要删除部分存档,但这将是一种有效的方法。

票数 0
EN

Unix & Linux用户

发布于 2023-05-17 02:39:42

我的示例可能无法解决这个问题的最初问题,但是,我想分享间接使用带有条件的tar的想法。

  1. 创建tar存档: tar cf sample.tar sample.txt
  2. 例如,使用find的功能与tar相结合,只添加CSS文件: find。-name "*.css“-exec tar rf sample.tar {} \;或仅添加可执行文件:查找。-executable -exec焦油rf sample.tar {};
  3. 检查归档文件: tar tf sample.tar
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/683120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档