日志的切割
日志的切割就是把日志以天为单位存放,这样便于我们对日志的查看以及分析,对错误的排查更加的迅速。
1,手动备份日志
access_log:存放的是nginx成功访问的日志信息
error_log:存放的是nginx访问失败的日志信息
nginx.pid:里面存放的是nginx的进程的pid
date命令
[root@localhost ~]# date +%F
2019-12-31
[root@localhost ~]# date +%Y-%m-%d
2019-12-31
[root@localhost ~]# date +%F -d -1day
2019-12-30
[root@localhost ~]# date +%F -d +1day
2020-01-01
cd /usr/local/nginx/logs
mv access.log `date +%F -d -1day`_access.log #备份昨天的日志
/usr/local/nginx/sbin/nginx -s reopen #重新生成access.log日志
2,日志的自动切割
自动切割需要编写脚本来完成
cd /usr/local/nginx/logs
mkdir oldlog #建立目录保存旧的日志信息
vim backup.sh #编辑脚本
1#!/bin/bash
2
3 LOG_PATH=/usr/local/nginx/logs/oldlogs
4 CUR_LOG_PATH=/usr/local/nginx/logs/
5 YESTADAY=$( date +%F -d -1day)
6 mv $CUR_LOG_PATH/access.log $LOG_PATH/${YESTADAY}_access.log
7 mv $CUR_LOG_PATH/error.log $LOG_PATH/${YESTADAY}_error.log
8 kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)
9 /usr/local/nginx/sbin/nginx -s reopen (和第八行一样生成新的日志)
chmod +x backup.sh #给执行权限
写一个定时任务让他每天的半夜十二点执行
crontab -e
0 0 * * * /bin/bash /usr/local/nginx/logs/backup.sh