nginx日志分割
脚本说明: 每天00:00定时切割Nginx日志 [root@check1 ~]# cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed 00 00 * * * root /bin/bash /usr/local/nginx/conf/cut_nginx_log.sh 使用下面脚本,需根据实际路径进行修改 修改下面三项即可: OLD_FILE中 +90代表保留90天的日志,90天后的会自动清理 LOGS_PATH PID_PATH #!/bin/bash #CUT_NGINX_LOG #Version:1.0 LOGS_PATH="/usr/local/nginx/logs" YESTERDAY=`date -d "yesterday" +"%Y-%m-%d"` PID_PATH="/usr/local/nginx/logs/nginx.pid" OLD_FILE=`find $LOGS_PATH -mtime +90 -type f -name "ERROR*"` if [ ! -d "$LOGS_PATH/old_access" ] then mkdir $LOGS_PATH/old_access fi if [ ! -d "$LOGS_PATH/old_error" ] then mkdir $LOGS_PATH/old_error fi mv ${LOGS_PATH}/access.log ${LOGS_PATH}/old_access/ACCESS_${YESTERDAY}.log mv ${LOGS_PATH}/error.log ${LOGS_PATH}/old_error/ERROR_${YESTERDAY}.log kill -USR1 `cat ${PID_PATH}` if [[ ! -z $OLD_FILE ]] then for a in $OLD_FILE do TIME=`date` echo "delet $a $TIME" >> /var/log/messages rm -rf $a done fi
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
· DeepSeek本地性能调优
· 一文掌握DeepSeek本地部署+Page Assist浏览器插件+C#接口调用+局域网访问!全攻略