nginx每天自动切割日志脚本

nginx是现在应用比较广泛的轻量级web应用服务器,可做前端负载,也可以添加不同插件做应用服务器,比如直播 点播流媒体等

今天分享的是nginx自动切割日志的脚本

   
[root@localhost logs]# vi nginxsep.sh
#!/bin/bash
###edit by zhangdd

LOGS_PATH=/usr/local/nginx/logs   ## Nginx 日志文件所在的目录

YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)   ## 获取昨天的 yyyy-MM-dd  注意双引号是在英文输入法下

mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log   ## 移动文件

kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)  ## 向 Nginx 主进程发送 USR1 信号。USR1 信号是重新打开日志文件

find ${logs_path} -name "access_*" -type f -mtime +30 -exec rm {} \;  ##自动删除30天前的日志

添加crontab任务每天定时执行

 
crontab -e
00 00 * * *    /usr/local/nginx/logs/nginxsep.sh