首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >修剪linux日志文件

修剪linux日志文件
EN

Stack Overflow用户
提问于 2013-11-09 01:28:11
回答 3查看 4.9K关注 0票数 2

这似乎是一个微不足道的问题,但我没有找到解决方案。

我在Debian/Linux上的php安装中有许多日志文件,它们往往会增长相当多,我想每晚减少到最后500行左右。我如何做到这一点,可能是在shell中,并对*log应用命令?

EN

回答 3

Stack Overflow用户

发布于 2013-11-09 01:41:03

为此,我建议使用具有您喜欢的配置的logrotate,而不是编写您自己的脚本。

票数 3
EN

Stack Overflow用户

发布于 2013-11-09 01:43:00

可能有一种更优雅的编程方法,但可以使用tail和for循环来实现:

代码语言:javascript
复制
for file in *.log; do
    tail -500 "$file" > "$file.tmp"
    mv -- "$file.tmp" "$file"
done
票数 1
EN

Stack Overflow用户

发布于 2013-11-09 01:41:40

如果你想保存旧文件的历史记录,你应该查看logrotate

否则,可以使用命令行轻松地完成此操作:

代码语言:javascript
复制
LOGS="/var/log"
MAX_LINES=500

find "$LOGS" -type f -name '*.log' -print0 | while read -d '' file; do
  tmp=$(mktemp)
  tail -n $MAX_LINES $file > $tmp
  mv $tmp $file      
done
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19865055

复制
相关文章

相似问题

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