nginx日志切割脚本
为了方便查看每天的访问及网站情况,对log日志进行切割,使日志按照日期归类方便查看
#!/bin/bash
d=`date -d "-1 day" +%Y%m%d` #获取昨天的日期
logdir="/usr/local/nginx/logs/" #日志位置
nginx_pid="/usr/local/nginx/logs/nginx.pid" #nginx的pid位置
cd $logdir
mkdir $d #因网站多,为了方便管理,创建已日期命名的文件夹进行统计管理
for log in `ls *.log` #获取日志名字,如果就一个可以指定不需要循环
do
mv $log $d/$log-$d #将一天的日志移到刚创建好的文件夹下并添加时间后缀区分
done
/bin/kill -HUP `cat $nginx_pid` #向nginx的pid文件发送重新加载信号,使nginx将日志写向新的日志文件
设置启动权限
root@localhost nginx]# chmod +x /usr/local/nginx/nginx_logrotate.sh
查看脚本有没有语法错误
[root@localhost nginx]# sh -n nginx_logrotate.sh
使用-n选项 可以查看有没有语法问题,并且脚本不会被执行
设置定时任务
[root@localhost nginx]# crontab -e
0 0 * * * /bin/bash /usr/local/nginx/nginx_logrotate.sh
每天12点执行一次
[root@localhost nginx]# crontab -l
0 0 * * * /bin/bash /usr/local/nginx/nginx_logrotate.sh