【nginx日志截取、割切】

这篇博客介绍了Linux环境中对日志文件的管理方法,包括使用`sed`、`grep`和`tail`等命令进行日志筛选、打印相关行及截取指定行数。还提到了日志切割脚本`logrotate_nginx_log`,用于定期备份和清理nginx的日志文件,并展示了检查Nginx是否安装特定模块的命令。
摘要由CSDN通过智能技术生成

1.时间格式: [2022-11-23 16:49:50.197]
​​在这里插入图片描述

sed -n '/2022-11-23 16:20:00/,/2022-11-23 16:50:00/p' server.log.2022-11-23.0   >  api.log

2.时间格式: [24/Nov/2022:00:38:32 +0800] (例:nginx \access.log )
在这里插入图片描述

sed -n '/15\/Nov\/2022:09:00:00/,/15\/Nov\/2022:09:25:00/p'  access.log

3.打印匹配行的前后5行

grep -5 'api-sm'  server.log.2022-11-23.0

4.打印匹配行的前后5行

grep -C 5 'api-sm'  server.log.2022-11-23.0

5.打印匹配行的后5行

grep -A 5 'api-sm'  server.log.2022-11-23.0
显示之后的一行(After 1)

6.打印匹配行的前5行

grep -B 5 'api-sm'  server.log.2022-11-23.0
显示之前的一行(Before 1)

7.截取最后1000行日志

tail -f -n 1000  server.log.2022-11-23.0 

8.截取前1000行日志

head -n 1000 server.log.2022-11-23.0

9.日志定时割切

#crontab -l
#59 23 * * * /bin/bash /opt/nginxLog/logrotate_nginx_log.sh  > /dev/null 2>&1


nginx_log_path="/opt/nginxLog"

function logrotate_nginx_log(){

  if [ -d "${nginx_log_path}" ]; then
    cd ${nginx_log_path}
    mkdir -p  cutlog/

    cp error.log  cutlog/error-$(date -d "today" +"%Y%m%d").log
	gzip cutlog/
    echo > error.log

    cp access.log cutlog/access-$(date -d "today" +"%Y%m%d").log
	gzip cutlog/
    echo > access.log
    find ${nginx_log_path}/cutlog -mtime +7 -type  f -name "*.log.gz" -exec  rm -f  {}  \;
  fi
}

logrotate_nginx_log
10.安装模块查看
nginx -V 2>&1 | grep -o with-http_stub_status_module
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值