按日期切割nginx日志,并自动删除7天前的日志。
#!/bin/bash #初始化 LOGS_PATH=/data/nginx/logs YESTERDAY=$(date -d "yesterday" +%Y-%m-%d) #按天切割日志 mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log #向 Nginx 主进程发送 USR1 信号,重新打开日志文件,否则会继续往mv后的文件写内容,导致切割失败. kill -USR1 `ps axu | grep "nginx: master process" | grep -v grep | awk '{print $2}'` #删除7天前的日志 cd ${LOGS_PATH} find . -mtime +7 -name "*20[1-9][3-9]*" | xargs rm -f exit 0
将这个脚本添加到计划任务,每天执行一次即可:
1 0 * * * /usr/local/script/cut_del_logs.sh

聂扬帆博客
一个分享IT运维相关工作经验和实战技巧的个人博客
2015年7月5日 上午11:11 沙发
学习学习,研究研究,呵呵
2015年7月6日 下午2:44 板凳
刚好需要用到这个脚本。收藏·