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的梳理的更多相关文章

  1. Logrotate日志轮巡missingok: 在日志轮循期间,任何错误将被忽略

    Linux日志文件总管——logrotate 编译自:http://xmodulo.com/2014/09/logrotate-manage-log-files-linux.html          ...

  2. logrotate关于日志轮询和分割

    如果你的是源码包安装的服务,那么对于Linux服务器上的一些服务在运行当中产生的日志很重要,可以判断你的服务是否有异常等,但源码包安装的日志是没有日志的轮询或者说是切割能力的, 所以你就需要用到bas ...

  3. linux使用logrotate工具管理日志轮替

    对于Linux系统安全来说,日志文件是极其重要的工具.logrotate程序是一个日志文件管理工具.用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到"转储"作用.可以节 ...

  4. [转]Linux日志文件总管——logrotate

    FROM : https://linux.cn/article-4126-1.html 日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到.对于忙碌的服务器,日志文 ...

  5. 日志切割之Logrotate

    1.关于日志切割 日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到.对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,这成了个问题.除此之外,处 ...

  6. 日志切割工具logrotate解决Tomcat catalina.out日志过大的问题

    一.介绍日志切割logrotate 对于Linux系统安全来说,日志文件是极其重要的工具.不知为何,我发现很多运维同学的服务器上都运行着一些诸如每天切分Nginx日志之类的CRON脚本,大家似乎遗忘了 ...

  7. Linux日志文件总管——logrotate

    日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到.对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,这成了个问题.除此之外,处理一个单个的庞大日 ...

  8. Linux日志切割方法[Logrotate、python、shell实现方式]

    Linux日志切割方法[Logrotate.python.shell实现方式] ​ 对于Linux系统安全来说,日志文件是极其重要的工具.不知为何,我发现很多运维同学的服务器上都运行着一些诸如每天切分 ...

  9. Linux_rsylogd日志轮替(三)

    一.轮替规则及配置文件:vi /etc/logrotate.conf 1.如果配置文件中拥有" dateext"参数,那么日志会用日期来作为日志文件的后缀,例如" sec ...

随机推荐

  1. lnmp1.3 配置pathinfo---thinkphp3.2 亲测有效

    lnmp1.3环境下配置pathinfo模式试了很多方法,都以失败告终,博主被这个问题困扰了很久,终于解决了!现记录如下: 1.打开php.ini 通常该文件在 /usr/local/php/etc/ ...

  2. ABP module-zero +AdminLTE+Bootstrap Table+jQuery权限管理系统第十七节--Quartz与ABP框架Abp.Quartz及扩展

    ABP+AdminLTE+Bootstrap Table权限管理系统一期 Github:https://github.com/Jimmey-Jiang/ABP-ASP.NET-Boilerplate- ...

  3. linux服务器解压缩文件的命令

    尝试去好好用linux.新手起步.   这边只会提到我用过的.其他相关的以后我用到了我会补充的.如果有错欢迎指正 注:1.c-创建-create 2.v-复杂输出    3.f-文件-file     ...

  4. 程序员的自我救赎---3.2:SSO及应用案例

    <前言> (一) Winner2.0 框架基础分析 (二)PLSQL报表系统 (三)SSO单点登录 (四) 短信中心与消息中心 (五)钱包系统 (六)GPU支付中心 (七)权限系统 (八) ...

  5. 程序员的自我救赎---1.4.3: 核心框架讲解(MVC)

    <前言> (一) Winner2.0 框架基础分析 (二)PLSQL报表系统 (三)SSO单点登录 (四) 短信中心与消息中心 (五)钱包系统 (六)GPU支付中心 (七)权限系统 (八) ...

  6. Scala入门系列(十二):隐式转换

    引言 Scala提供的隐式转换和隐式参数功能,是非常有特色的功能.是Java等编程语言所没有的功能.它可以允许你手动指定,将某种类型的对象转换成其他类型的对象.通过这些功能可以实现非常强大而且特殊的功 ...

  7. JAVA入门[10]-mybatis分页查询

    1.添加分页插件 在mybatis-generator-config.xml添加plugin节点: <plugin type="org.mybatis.generator.plugin ...

  8. Mac ssh 连接报错 Permission denied (publickey)

    用的阿里云服务器,如果直接连接,会报下面错误: $ ssh root@47.94.132.115 Permission denied (publickey). 创建服务器的时候,连接秘钥会生成并下载到 ...

  9. MFC学习之CWinApp类

    CWinApp是一个基类,你通过它来继承Windows应用程序对象.应用程序对象为你提供了初始化应用程序(以及它的每一个实例 和运行应用程序所需的成员函数.它实现主事件循环并把事件分发给MFC中其他类 ...

  10. springboot 热部署的两种方式

    问题的提出: 在编写代码的时候,你会发现我们只是简单把打印信息改变了,就需要重新部署,如果是这样的编码方式,那么我们估计一天下来就真的是打几个Hello World就下班了.那么如何解决热部署的问题呢 ...