logrotate 日志滚动的使用

本页内容

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)时轮换