nginx 自动化定时切割日志
NG在默认情况下,是始终输出到一个日志文件中,日志文件在nginx.conf中 : access_log logs/www.access.log main; 一个文件中不是很方便查找,分析数据,因此需要按现实运维需要定时的对此文件进行切割。
1、准备个切割日志文件的脚本 vi cut_nginx_log.sh 按每日规格来切割。
mv /usr/local/nginx/logs/www.access.log /home/master/logs/nginx/access_$(date -d "yesterday" +"%Y%m%d").log
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
修改此文件为可执行类: chmod +x cut_nginx_log.sh
2、向系统添加定时器执行任务
0 0 * * * root /usr/local/nginx/logs/cut_nginx_log.sh
前面五个为定时规则
每五分钟执行 */5 * * * *
每小时执行 0 * * * *
每天执行 0 0 * * *
每周执行 0 0 * * 0
每月执行 0 0 1 * *
每年执行 0 0 1 1 *
3、crontab默认情况下是不执行开启功能的
修改rsyslog服务,将 /etc/rsyslog.d/50-default.conf 文件中的 #cron.* 前的 # 删掉;
命令重启rsyslog服务: service rsyslog restart;
然后再重启crontab服务: service cron restart;
查看crontab的状态 service cron status;