加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 在shell脚本级别上限制文件大小(stdout)的简单方法?

发布时间:2020-12-15 18:41:08 所属栏目:安全 来源:网络整理
导读:好吧,从我的角度来看,这是一个非常实用的用例. 假设我有一个简单的shell oneliner,它将输出记录到文件中.这可以是任何东西,例如tcpdump.是否有任何通用和琐碎的方法,以确保输出文件不会超过给定的大小? 在此背后重新构建,是为了防止错误地填充安装点上的整
好吧,从我的角度来看,这是一个非常实用的用例.

假设我有一个简单的shell oneliner,它将输出记录到文件中.这可以是任何东西,例如tcpdump.是否有任何通用和琐碎的方法,以确保输出文件不会超过给定的大小?

在此背后重新构建,是为了防止错误地填充安装点上的整个可用空间.如果我忘记了脚本,或者它每小时会产生GB数据,那么这个简单的调试任务可能会导致潜在的系统崩溃.

现在,我知道在一些工具中构建选项(比如在tcpdump中组合-W / -C).我需要的是一个非常通用的故障保护.

长话短说 – 我运行的脚本如下:

% this -is --my=very|awsome|script >> /var/tmp/output.log

如何确保output.log永远不会超过1GB.

脚本可能崩溃,被杀或等等.

我正在寻找的解决方案应该简单易用,只使用流行的发行版中提供的工具,如ubuntu / debian / fedora.一般来说,广泛可用.无论语言/技术如何,复杂的多线程序都不是一个选项.

您可以使用head:
command | head -c 1G > /var/tmp/output.log

它接受K,M,G等作为后缀(默认为字节).附加’B’以使用基本10版本.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读