日志轮替工具logrotate归纳总结

简介:

1 理论部分

1.1 logrotate的作用

logrotate通俗点讲主要实现日志分割功能,关于详细功能如下:

- 定义日志的转存规则(根据时间或大小转存,转存几份以及旧日志删除)

- 定义转存同时压缩日志

- 定义日志的邮寄备份

- 定义日志的转存权限

- 定义空日志的转存方式

1.2 logrotate的启动

1
cat  /etc/cron .daily /logrotate

详细如下:

1
2
3
4
5
6
7
8
#!/bin/sh
 
/usr/sbin/logrotate  /etc/logrotate .conf
EXITVALUE=$?
if  [ $EXITVALUE != 0 ];  then
     /usr/bin/logger  -t logrotate  "ALERT exited abnormally with [$EXITVALUE]"
fi
exit  0

注:以上可见logrotate是基于crontab触发执行(按天)

1.3 logrotate的配置文件

1
cat  /etc/logrotate .conf

详细如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
weekly
rotate 4
create
dateext
include  /etc/logrotate .d
/var/log/wtmp  {
     monthly
     create 0664 root utmp
         minsize 1M
     rotate 1
}
/var/log/btmp  {
     missingok
     monthly
     create 0600 root utmp
     rotate 1
}

注:留意include参数,故可在“/etc/logrotate.d”目录配置子配置文件

1.4 logrotate的配置文件的常用参数

1.4.1 时间参数

yearly - 按年转存日志

monthly - 按月转存日志

weekly - 按周转存日志

daily - 按日转存日志

1.4.2 日志保留的份数

rotate - 转存保留多少份日志

范例:

1
rotate 5

1.4.3 日志的压缩

compress - 转存的日志使用gzip压缩

delaycompress- 不压缩最近一次的日志

1.4.4 错误处理

missingok - 转存时忽略任何错误

1.4.5 空日志处理

notifempty - 不转存空日志

1.4.6 权限处理

create - 指定转存日志权限

范例:

1
create 644 root root

1.4.7 脚本调用

prerotate/endscript - 指定日志转存前调用脚本

postrotate/endscript - 指定日志转存后调用脚本

范例:

1
2
3
postrotate
/usr/bin/killall  -HUP rsyslogd
endscript

1.4.7 其他参数

请参阅:

http://www.linuxcommand.org/man_pages/logrotate8.html

2 实践部分

2.1 软件包的安装

1
yum  install  -y logrotate

2.2 定位日志配置文件

1
ls  -l  /var/log/wtmp

详细显示如下:

1
-rw-rw-r--. 1 root utmp 46464 Feb  9 08:48  /var/log/wtmp

2.3 编辑配置文件

1
vim  /etc/logrotate .d /wtmp

配置如下:

1
2
3
4
5
6
7
8
9
/var/log/wtmp  {
     yearly
     rotate 5
     compress
     delaycompress
     missingok
     notifempty
     create 644 root utmp
}

注:没有就创建,配置文件名称与日志文件名称一致(方便管理)

2.4 测试配置文件

1
logrotate -d  /etc/logrotate .d /wtmp

2.5 手动运行配置文件(可选)

1
logrotate  /etc/logrotate .conf

1
logrotate  /etc/logrotate .d /wtmp

==========================================================










本文转自 tanzhenchao 51CTO博客,原文链接:http://blog.51cto.com/cmdschool/1896025,如需转载请自行联系原作者
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
3月前
|
存储 Prometheus 监控
Prometheus vs. ELK Stack:容器监控与日志管理工具的较量
随着容器化技术的广泛应用,容器监控与日志管理成为了关键任务。本文将对两种常用工具进行比较与选择,分别是Prometheus和ELK Stack。Prometheus是一款开源的监控系统,专注于时序数据的收集和告警。而ELK Stack则是一套完整的日志管理解决方案,由Elasticsearch、Logstash和Kibana三个组件组成。通过比较它们的特点、优势和适用场景,读者可以更好地了解如何选择适合自己需求的工具。
|
1月前
|
监控 Shell Linux
【Shell 命令集合 系统管理 】Linux 自动轮转(log rotation)日志文件 logrotate命令 使用指南
【Shell 命令集合 系统管理 】Linux 自动轮转(log rotation)日志文件 logrotate命令 使用指南
51 0
|
4月前
|
监控 安全 NoSQL
5 个适用于 Linux 的开源日志监控和管理工具
5 个适用于 Linux 的开源日志监控和管理工具
289 0
|
10天前
工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断2
工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断
17 0
|
10天前
|
机器学习/深度学习 前端开发 数据挖掘
R语言计量经济学:工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断
R语言计量经济学:工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断
39 0
|
2月前
|
Linux
Linux日志轮替
Linux日志轮替
47 2
Linux日志轮替
|
3月前
|
Prometheus 监控 Cloud Native
Prometheus VS ELK Stack:容器监控与日志管理工具的比较与选择
在容器化时代,有效的容器监控与日志管理工具对于确保应用程序的可靠性和可维护性至关重要。本文将比较两个主流工具,Prometheus和ELK Stack,探讨它们在容器监控和日志管理方面的特点、优势和适用场景,帮助读者做出明智的选择。
|
3月前
|
存储 监控 Ubuntu
日志切割工具-Logrotate实现nginx日志切割
日志切割工具-Logrotate实现nginx日志切割
41 0
|
4月前
|
Linux
linux下实现日志切割的两种方法 logrotate
linux下实现日志切割的两种方法 logrotate
134 0
|
5月前
一个查看 SAP CRM One Order 运行时生成的应用日志(Application Log)的小工具
一个查看 SAP CRM One Order 运行时生成的应用日志(Application Log)的小工具
61 0