由于日志文件每时每刻都有可能产生,随着时间的积累,势必会导致Log文件体积越来越大,因此需要对nginx日志进行必要的切割措施。
Nginx日至切割-手动切割日志
-
创建一个shell可执行文件:cut_my_log.sh,内容如下:
#!/bin/bash LOG_PATH="/var/log/nginx/" RECORD_TIME=$(date -d "yesterday" +%Y-%m-%d+%H:%M) PID=/var/run/nginx/nginx.pid mv ${LOG_PATH}/access.log ${LOG_PATH}/access.${RECORD_TIME}.log mv ${LOG_PATH}/error.log ${LOG_PATH}/error.${RECORD_TIME}.log #向Nginx主进程发送信号,用于重新打开日志文件 kill -USR1 `cat $PID`
-
为cut_my_log.sh添加可执行的权限
chmod +x cut_my_log.sh
-
测试日志切割后的效果
Nginx日志切割-自动切割日志
-
安装定时任务
yum -y install crontabs
-
crontab -e 编辑并且添加一行新的任务
*/1 * * * * /usr/local/nginx/sbin/cut_my_log.sh #每分钟执行一次文件
-
重启定时任务
```bash
service crond restart
```
-
附:常用定时任务命令
- service crond start //启动服务
- service crond stop //关闭服务
- service crond restart //重启服务
- service crond reload //重新加载服务
- crontab -e //编辑任务
- crontab -l //查看任务列表
定时任务表达式
Cron 表达式,分为5~6个域,每个域代表一个含义,具体如下表
分 时 日 月 星期几 年 0~59 0~23 1-31 1-12 1~7 2019/2020/2021 常用表达式
-
每分钟执行
*/1 * * * *
-
每天凌晨(每天晚上23:59)执行
59 23 * * *
-
每天凌晨1点执行
0 1 * * *
参考引用