随着访问量的增大,如果对日志置之不理,总有一天日志文件会撑爆磁盘;所以需要我们对日志进行切割,并且每隔一段时间删除一些旧日志,防止日志无休无止的占用磁盘的空间。
可以通过写一个shell脚本自动化切割,比如每天凌晨00:00把昨天的日志进行归类重命名:
# cd /usr/local/sbin
# vim nginx_logrotate.sh
写入以下脚本:
#! /bin/bash
d=`date -d "-1 day" +%F`
[ -d /tmp/nginx_log ] || mkdir /tmp/nginx_log
mv /tmp/access.log /tmp/nginx_log/$d.log
/etc/init.d/nginx reload > /dev/null
cd /tmp/nginx_log/
gzip -f $d.log
规定每天凌晨00:00去切割,并删除超过30天的日志文件
# crontab -e
0 0 * * * sh /usr/local/sbin/nginx_logrotate.sh
0 0 * * * find /tmp/nginx_log -type f -mtime +30 |xargs rm -rf
时间: 2024-10-08 11:13:27