rsyslogd以及日志轮替logrotate的梳理
rsyslog
1)日志类型
auth :(authpriv) 主要与认证有关的机制,例如 login, ssh, su 等需要帐号/密码的咚咚;
cron: 就是例行性工作排程 cron/at 等产生讯息记录的地方;
daemon: 与各个 daemon 有关的讯息;
kern: 就是核心 (kernel) 产生讯息的地方;
lpr: 亦即是列印相关的讯息啊!
mail: 只要与邮件收发有关的讯息纪录都属于这个;
news: 与新闻群组伺服器有关的东西;
syslog: 就是 syslogd 这支程式本身产生的资讯啊!
user, uucp, local0 ~ local7 与 Unix like 机器本身有关的一些讯息。
2)日志等级
debug:调试信息
info:
notice
warning
err
crit
alert
emerg
* :所有日志等级的信息
.none :忽略日志服务,不记录
3)rsyslog.conf文件
*.info;mail.none;authpriv.none;cron.none /var/log/messages
#除了mail、authpriv、cron之外的任何服务产生日志等级为info的信息都记录在message之内 authpriv.* /var/log/secure
#authpriv服务发生的任何等级的日志都记录在secure中 mail.* -/var/log/maillog
#同理,是Mail服务发生的日志都记录在maillog中 $ModLoad ommysql #引用mysql模块 mail.* :ommysql:localhost,Syslog,rsyslog,password
#将mail的任何信息记入:本地mysql中的Syslog库中,用户为rsyslog,密码为:password
4)赋值方法
. :代表大于等于指定的等级的日志会记录到指定的日志里面
.= :代表日志等级等于指定的等级会记录
.! :除了指定等级之外的日志会被记录
logrotate
1)关于logrotate
程序:/usr/sbin/logrotate
配置:/etc/logrotate.conf 和/etc/logrotate.d/
和 crontab 耦合: /etc/cron.daily/logrotate
2)logrotate.conf
#每个礼拜滚一次
weekly
#保留4个档,比如第5次更替,那第一次的就没了
rotate
#建立新的日志来继续存储
create
# 将日期作为轮替日志的结尾,比如:maillog-
dateext
# 是否压缩日志,压缩工具gzip,比如:maillog-.gz
compress
# 子配置文件的包含目录
include /etc/logrotate.d
# 轮替的两个实例
/var/log/wtmp {
monthly
create root utmp
minsize 1M
rotate
}
/var/log/btmp {
missingok
monthly
create root utmp
rotate
}
3)logrotate.d下的日志轮替
/var/log/maillog
{
daily 每天都执行
rotate 保留7份轮替日志
dateext 以日期作为轮替日志的标识
create 创建新文件
minsize 1G 日志最小1G,不到1G不轮替
sharedscripts :和endscript对应,中间放脚本
postrotate :在启动logrotate前,执行下面的动作
/bin/kill -HUP `cat /var/run/syslogd.pid > /dev/null` > /dev/null || true
/bin/kill -HUP `cat /var/run/fail2ban/fail2ban.pid > /dev/null` > /dev/null || true
endscript :结束脚本
compress :压缩
}
4)强制日志轮替命令
/usr/sbin/logrotate /etc/logrotate.conf
cron、rsyslog、logratate 之间的关系
rsyslog:负责将产生的日志分类,打到各个日志文件中
logrotate:负责切割日志
crontab:定时任务在/etc/下面有 cron.hourly cron.daily cron.weekly cron.monthly 等目录,在对应目录下的程序,会按其给定的时间执行一次,比如cron.daily下的程序会每天都执行一次。
在cron.daily目录下有logrotate的一个Shell脚本:
#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf >/dev/null 2>&1
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0
这个脚本每天执行一次,所以会将 /etc/logrotate.conf 中设定的切割策略都执行一遍,当然include 所包含的 /etc/logrotate.d/* 的所有策略也会执行,因此实现了日志的轮替。
rsyslogd以及日志轮替logrotate的梳理的更多相关文章
- Logrotate日志轮巡missingok: 在日志轮循期间,任何错误将被忽略
Linux日志文件总管——logrotate 编译自:http://xmodulo.com/2014/09/logrotate-manage-log-files-linux.html ...
- logrotate关于日志轮询和分割
如果你的是源码包安装的服务,那么对于Linux服务器上的一些服务在运行当中产生的日志很重要,可以判断你的服务是否有异常等,但源码包安装的日志是没有日志的轮询或者说是切割能力的, 所以你就需要用到bas ...
- linux使用logrotate工具管理日志轮替
对于Linux系统安全来说,日志文件是极其重要的工具.logrotate程序是一个日志文件管理工具.用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到"转储"作用.可以节 ...
- [转]Linux日志文件总管——logrotate
FROM : https://linux.cn/article-4126-1.html 日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到.对于忙碌的服务器,日志文 ...
- 日志切割之Logrotate
1.关于日志切割 日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到.对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,这成了个问题.除此之外,处 ...
- 日志切割工具logrotate解决Tomcat catalina.out日志过大的问题
一.介绍日志切割logrotate 对于Linux系统安全来说,日志文件是极其重要的工具.不知为何,我发现很多运维同学的服务器上都运行着一些诸如每天切分Nginx日志之类的CRON脚本,大家似乎遗忘了 ...
- Linux日志文件总管——logrotate
日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到.对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,这成了个问题.除此之外,处理一个单个的庞大日 ...
- Linux日志切割方法[Logrotate、python、shell实现方式]
Linux日志切割方法[Logrotate.python.shell实现方式] 对于Linux系统安全来说,日志文件是极其重要的工具.不知为何,我发现很多运维同学的服务器上都运行着一些诸如每天切分 ...
- Linux_rsylogd日志轮替(三)
一.轮替规则及配置文件:vi /etc/logrotate.conf 1.如果配置文件中拥有" dateext"参数,那么日志会用日期来作为日志文件的后缀,例如" sec ...
随机推荐
- Linux中MySQL5.6编译安装与MySQL5.7二进制安装步骤
首先,介绍一下MySQL的几种安装方式 1.RPM.Yum 的安装方式:安装方便.安装速度快,无法定制 2.二进制:不需要安装,解压即可使用,不能定制功能 3.编译安装:可定制,安装慢. 编译安装中需 ...
- 前端备忘录--JQuery选择器
基本选择器 基本选择器是最常用的选择器,也是最简单的选择器. $("#test") //选取id为test的元素 $(".test") //选取class为te ...
- Android官方技术文档翻译——Gradle 插件用户指南(5)
昨晚把第五章未译完的几句话攻克了.只是第六章没怎么译,明后天又是周末,假设周一前第六章翻译完的话,周一再发第六章. 本文译自Android官方技术文档<Gradle Plugin User Gu ...
- 【百度之星2014~初赛(第二轮)解题报告】JZP Set
声明 笔者近期意外的发现 笔者的个人站点http://tiankonguse.com/ 的非常多文章被其他站点转载,可是转载时未声明文章来源或參考自 http://tiankonguse.com/ 站 ...
- hdu 4939
题意: 长度为n个单位的map,每一个单位须要时间t来走完. 每一个单位能够放置一个塔.一共同拥有三种塔,每种塔的作用不同: 1.仅仅能攻击当前单位.每秒x点伤害(红塔) 2.攻击当前单位之后的全部单 ...
- Mongodb 3.4 + Centos6.5 配置 + mysql.sql转为csv 或 json导入和导出Mongo (64位系统)
Centos下通过yum安装步骤如下: 声明:相对比那些用源码安装,少了配置和新建log和data目录,这种简单粗暴, ,创建仓库文件, vi /etc/yum.repos.d/mongodb-org ...
- Docker + Jenkins 持续部署 ASP.NET Core 项目
Docker 是个好东西,特别是用它来部署 ASP.NET Core Web 项目的时候,但是仅仅的让程序运行起来远远不能满足我的需求,如果能够像 DaoCloud 提供的持续集成服务那样,检测 gi ...
- Spring Boot整合 JdbcTemplate
(1) 在pom.xml加入jdbcTemplate的依赖: (2) 编写DemoDao类,声明为:@Repository,引入JdbcTemplate (3) 编写DemoService类,引入De ...
- JavaWeb项目之电话本,两个版本,以及总结反思
使用技术: Oracle 数据库 前端后台: Servlet + jsp + JDBC + html + css + js 前端界面自定, 但一定实现需要的功能 实现功能: 用户可以登录 登录之后可以 ...
- VM环境下Linux虚拟机扩展存储空间操作方法总结
用VMwareware虚拟机安装的 Linux 系统剩余空间不足,造成软件无法正常安装.如果重新装一遍系统就需要重新配置好开发环境和软件的安装配置. 一.空间扩展 (1)打开VMware,选择Edi ...