logrotate 日志滚动的使用 logrotate 日志滚动切割工具,是 linux 默认安装的工具,配置文件位置:
1/etc/logrotate.conf 2/etc/logrotate.d/ 参数 以 nginx 配置为例
1/opt/log/nginx/*.log { 2 daily 3 missingok 4 rotate 14 5 errors "nb@nbtyfood.com" 6 compress 7 delaycompress 8 notifempty 9 create 0640 www-data adm 10 sharedscripts 11 prerotate 12 if [ -d /etc/logrotate.d/httpd-prerotate ]; then \ 13 run-parts /etc/logrotate.d/httpd-prerotate; \ 14 fi \ 15 endscript 16 postrotate 17 invoke-rc.d nginx rotate >/dev/null 2>&1 18 endscript 19} 参数 作用 compress 压缩日志文件的所有非当前版本 daily,weekly,monthly 按指定计划轮换日志文件 delaycompress 压缩所有版本,除了当前和下一个最近的 endscript 标记 prerotate 或 postrotate 脚本的结束 errors “emailid” 给指定邮箱发送错误通知 missingok 如果日志文件丢失,不要显示错误 notifempty 如果日志文件为空,则不轮换日志文件 olddir “dir” 指定日志文件的旧版本放在 “dir” 中 postrotate 引入一个在日志被轮换后执行的脚本 prerotate 引入一个在日志被轮换前执行的脚本 rotate ’n' 在轮换方案中包含日志的 n 个版本 sharedscripts 对于整个日志组只运行一次脚本 size=‘logsize’ 在日志大小大于 logsize(例如 100K,4M)时轮换