Nginx基础篇-Nginx的日志模块~日志轮转/切割
前言
Nginx安装,会默认启动日志轮转
rpm -ql nginx | grep log
/etc/logrotate.d/nginx
/var/log/nginx
日志配置说明
vim /etc/logrotate.d/nginx
/var/log/nginx/*log {---待切割的日志
create 0644 nginx nginx----创建新的日志文件,属主
daily----天
rotate 10----10份
missingok----丢失不提示
notifempty-----空文件的话,不转储
compress----压缩
sharedscripts----轮转后脚本
postrotate
/bin/kill -USR1 `cat /run/nginx.pid 2>/dev/null` 2>/dev/null || true
----USR1亦通常被用来告知应用程序重载配置文件;例如,向Apache HTTP服务器发送一个USR1信号将导致以下步骤的发生:停止接受新的连接,等待当前连接停止,重新载入配置文件,重新打开日志文件,重启服务器,从而实现相对平滑的不关机的更改。
endscript
}
日志切割得原理
1.cron每小时呼唤一次anacron----vim /etc/cron.hourly/0anacron
2.anacrontab以天,周,月循环往复-----vim /etc/anacrontab
3.天循环-----vim /etc/cron.daily/logrotate
4.立刻循环-----指令 /usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf
5.anacron当天的时间戳----vim /var/spool/anacron/cron.daily----20180731
6.anacron循环后的时间戳-----vim /var/lib/logrotate/logrotate.status
“/var/log/nginx/host.404.log” 2017-11-19-0:8:56
根据该时间确定是否轮转。