基于rhel7的nginx的日志切割

在生产环境中,像Nginx这类高并发服务器会产生大量日志,影响管理。可通过创建日志存放目录、编写日志切割脚本、制作定时任务,对日志进行定期分割和备份,以方便管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们在日常的生产环境中,日志文件的产生是必不可少的,由其像是nginx服务器这种高并发服务器更会产生大量的日志,那么每天的日志大小就会非常的大,对我们的管理造成很大影响。那么我们就需要将日志按照定期的时间对其进行分割,并对分割的日志备份,然后再产生新的日志,方便管理。这就是日志分割!

1.创建每天日志切割后日志存放目录

[root@server1 sbin]# cd /usr/local/nginx/logs/
[root@server1 logs]# pwd
/usr/local/nginx/logs
[root@server1 logs]# mkdir oldlogs
[root@server1 logs]# ls
access.log  error.log  nginx.pid  nginx.pid.oldbin  oldlogs
[root@server1 logs]# 

2.编写日志切割的脚本

[root@server1 logs]# vim /usr/local/nginx/logs/backup.sh
[root@server1 logs]# vim /usr/local/nginx/logs/backup.sh
#!/bin/bash

LOG_PATH=/usr/local/nginx/logs/oldlogs	##切割后新日志的路径
CUR_LOG_PATH=/usr/local/nginx/logs	##nginx日志存放的路径
YESTERDAY=$(date +%F -d -1day)	##定义时间为昨天

mv $CUR_LOG_PATH/access.log $LOG_PATH/${YESTERDAY}_access.log	##将昨天的access日志移动到切割目录,并且重命名
mv $CUR_LOG_PATH/error.log $LOG_PATH/${YESTERDAY}_error.log 	##将昨天的error日志移动到切割日志目录,并且重命名    

kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)	##让nginx差生新的日志文件来存放新生成的日志
[root@server1 logs]# chmod +x backup.sh

在这里插入图片描述
3.制作定时任务,定时切割日志

[root@server1 logs]# crontab -e
no crontab for root - using an empty one
crontab: installing new crontab
[root@server1 logs]# crontab -l
0 0 * * * /bin/bash /usr/local/nginx/logs/backup.sh	##每天的00:00在bash环境执行backup.sh脚本,即日志切割

就这样,我们的日志切割就做好了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值