/home/user/dir/log/*.log 但它返回 -bash: /home/user/dir/log/*.log: -6ren">
gpt4 book ai didi

linux - 每天使用 cron 任务清空日志文件

转载 作者:行者123 更新时间:2023-12-04 19:05:42 28 4
gpt4 key购买 nike

我想每天在特定时间清空(而不是删除)日志文件。就像是

echo "" > /home/user/dir/log/*.log
但它返回
-bash: /home/user/dir/log/*.log: ambiguous redirect
有没有办法做到这一点?

最佳答案

您不能重定向到多个文件,但可以 tee到多个文件。

tee /home/user/dir/log/*.log </dev/null
来自 /dev/null 的重定向还避免在每个文件的开头写一个空行,这是您尝试的另一个错误。 (如果通配符不匹配任何现有文件,也许指定 nullglob 以避免创建名称为 *.log 的文件。)
但是,更好的解决方案可能是使用实用程序 logrotate。它在每个 Debian(以及 Ubuntu、Mint 等)安装中开箱即用。它默认每晚运行,并且可以通过在其配置目录中放置一个文件来进行配置。它使您可以压缩以前版本的日志文件而不是仅仅覆盖,并注意保留所有权和权限等。

关于linux - 每天使用 cron 任务清空日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70449102/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com