nginx日志的切割

不论以何种方式访问Nginx主机,都会生成access.log连接日志,会造成该文件太大,故需要进行日志的切割,所谓切割,我们将实现的就是将每天的日志都存放在自己的日志文件中。操作如下:
(1)日志的切割:

[root@server1 ~]# cd /usr/local/nginx
[root@server1 nginx]# ls
client_body_temp  fastcgi_temp  logs        sbin       uwsgi_temp
conf              html          proxy_temp  scgi_temp
[root@server1 nginx]# cd logs
[root@server1 logs]# ls
access.log  error.log  nginx.pid
[root@server1 logs]# cat access.log 
172.25.33.2 - - [24/Jul/2019:18:32:07 +0800] "GET / HTTP/1.1" 200 612 "-" "curl/7.29.0"
[root@server2 ~]# ab -c 1 -n 100000 http://172.25.33.1/index.html     #生成1个并发,十万个访问
[root@server1 logs]# du -sh access.log 
9.8M	access.log

在这里插入图片描述在这里插入图片描述

[root@server1 logs]# mv access.log `date +%F -d -1day`_access.log   #先备份 (获取今天时间 date +%F 昨天date +%F -d -1day) 
[root@server1 logs]# /usr/local/nginx/sbin/nginx -s reopen
  #会再生成/usr/local/nginx/logs/access.log 连接日志
[root@server1 logs]# ls
2019-07-23_access.log  access.log  error.log  nginx.pid

[root@server2 ~]# ab -c 1 -n 1000 http://172.25.33.1/index.html
现在再来1000个请求就会记录在/usr/local/nginx/logs/access.log日志中

在这里插入图片描述

(2)脚本实现日志的切割:
方式一:

[root@server1 ~]cd /usr/local/nginx/logs
[root@server1 logs]vim backup.sh
[root@server1 logs]mkdir /usr/local/nginx/logs/oldlogs
[root@server1 logs]chmod +x backup.sh
[root@server1 logs]# ls
2019-07-23_access.log  access.log  backup.sh  error.log  nginx.pid  oldlogs
[root@server1 logs]# sh backup.sh 
[root@server1 logs]# cd oldlogs/
[root@server1 oldlogs]# ls
2019-07-23_access.log  2019-07-23_error.log

在这里插入图片描述在这里插入图片描述方式二:

[root@server1 logs]# cd oldlogs/
[root@server1 oldlogs]# ls
2019-07-23_access.log  2019-07-23_error.log
[root@server1 oldlogs]# cd ..
[root@server1 logs]# sh backup.sh 
[root@server1 logs]# cd oldlogs/
[root@server1 oldlogs]# ls
2019-07-22_access.log  2019-07-23_access.log
2019-07-22_error.log   2019-07-23_error.log

在这里插入图片描述在这里插入图片描述(3)将脚本加入定时任务中:

[root@server1 oldlogs]# crontab -e
no crontab for root - using an empty one
crontab: installing new crontab
[root@server1 oldlogs]# crontab -l
0 0 1 * * /bin/bash /usr/local/nginx/logs/backup.sh
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值