nginx泡得太久,日志就越来越大,有必要对其切割下,也便于按天统计访问量神马的。
没啥难度,短短几行的脚本即可
#!/bin/bash
# Description: rotate nginx access logs
NGX_PID=`cat /usr/local/nginx/logs/nginx.pid`
LOGS_DIR="/home/wwwlogs"
WWW_LOG_NAME="www.demo.com.log"
B2B_LOG_NAME="b2b.demo.com.log"
MOBILE_LOG_NAME="mobile.demo.com.log"
PLIST_LOG_NAME="plist.demo.com.log"
cd $LOGS_DIR
/usr/bin/mv $WWW_LOG_NAME $(date +%F -d 'yesterday')_$WWW_LOG_NAME
/usr/bin/mv $B2B_LOG_NAME $(date +%F -d 'yesterday')_$B2B_LOG_NAME
/usr/bin/mv $MOBILE_LOG_NAME $(date +%F -d 'yesterday')_$MOBILE_LOG_NAME
/usr/bin/mv $PLIST_LOG_NAME $(date +%F -d 'yesterday')_$PLIST_LOG_NAME
/bin/kill -USR1 $NGX_PID
加到cron计划任务中
echo "0 0 * * * /home/scripts/rotate-nginx-logs.sh > /dev/null 2>&1">> /var/spool/cron/root
转载于:https://blog.51cto.com/519137/1792647