通过脚本按天切割nginx的日志
文章发布较早,内容可能过时,阅读注意甄别。
nginx 的日志默认是不会进行切割的,如果我们不对其进行一些处理,那么就会一天一天变大,等大到几个 G 的时候,一旦出现问题,想通过日志进行一些问题的排查都很困难了。
我的博客中 nginx 日志也是这么个情况,于是打算做一下日志切割。
脚本如下:
#!/bin/bash
Date=`date -d '-1 day' '+%Y-%m-%d'`
cd /var/log/nginx && mkdir logs/$Date
for i in access.log error.log
do
gzip -c $i > logs/$Date/"$i"_"$Date".gz
echo " " > $i
find logs/ -ctime +30 | xargs rm -rf
done
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
此处只用把脚本中日志的位置进行调整并创建 logs 目录,就可以了。
然后再将脚本扔进定时任务当中,每天的凌晨执行一次,这样就达到了按天切割,然后删除掉 30 天之前的日志的目的了。
上次更新: 2024/07/04, 22:40:37