nginx日志切割
我们再日常的生产环境当中,日志文件的大小可能高达几个G,这对我们的管理造成很大的不变。我们需要日志切割将每天的日志定期备份,并且新的日志产生再新的日志文件,方便日志的管理。
这就是日志切割!!!
1、创建每天日志切割后存放目录
[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
2、编写日志切割脚本
[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产生新的日志文件,用来存放日志
3、制作定时任务,定时nginx日志切割
[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进行日志切割
这样我们日志切割的定时任务就部署好啦!!!