• 日志生成控制文件syslog.conf


    1: syslog.conf的介绍

    对于不同类型的Unix,标准UnixLog系统的设置,实际上除了一些关键词的不同,系统的syslog.conf格式是相同的。syslog采用可配置的、统一的系统登记程序,随时从系统各处接受log请求,然后根据/etc/syslog.conf中的预先设定把log信息写入相应文件中、邮寄给特定用户或者直接以消息的方式发往控制台。值得注意的是,为了防止入侵者修改、删除messages里的记录信息,可以采用用打印机记录或采用方式来挫败入侵者的企图。

    syslogd与klogd(监控linux内核提交的消息)守护进程负责记录,发送系统或工具产生的信息,二者的配置文件都是/etc/syslog.conf.当系统内核或工具产生信息时,通过调用相关函数将信息发送到syslogd或klogd守护进程.syslogd与klogd守护进程会根据/etc/syslog.conf中的配置信息,对消息的去向作出处理

    2: syslog.conf的格式

        可以参考man [5] syslog.conf。这里是对syslog.conf的简单介绍。

        /etc/syslog.conf文件中的一项配置记录由“选项”(selector)和“动作”(action)两个部分组成,两者间用tab制表符进行分隔(使用空格间隔是无效的)。而“选项”又由一个或多个形如“类型.级别”格式的保留字段组合而成,各保留字段间用分号分隔。如下行所示:

            类型.级别 [;类型.级别] `TAB` 动作

    2.1 类型

        保留字段中的“类型”代表信息产生的源头,可以是:

        auth    认证系统,即询问用户名和口令

        cron    系统定时系统执行定时任务时发出的信息

        daemon  某些系统的守护程序的syslog,如由in.ftpd产生的log

        kern    内核的syslog信息

        lpr     打印机的syslog信息

        mail    邮件系统的syslog信息

        mark    定时发送消息的时标程序

        news    新闻系统的syslog信息

        user    本地用户应用程序的syslog信息

        uucp    uucp子系统的syslog信息

        local0..7 种本地类型的syslog信息,这些信息可以又用户来定义

        *       代表以上各种设备

    2.2 级别

        保留字段中的“级别”代表信息的重要性,可以是:

        emerg   紧急,处于Panic状态。通常应广播到所有用户;

        alert   告警,当前状态必须立即进行纠正。例如,系统数据库崩溃;

        crit    关键状态的警告。例如,硬件故障;

        err     其它错误;

        warning 警告;

        notice  注意;非错误状态的报告,但应特别处理;

        info    通报信息;

        debug   调试程序时的信息;

        none    通常调试程序时用,指示带有none级别的类型产生的信息无需送出。如*.debug;mail.none表示调试时除邮件信息外其它信息都送出。

    2.3 动作

    动作(action)

            动作确定了syslogd与klogd守护进程将日志消息发送到什么地方去.有以下几种选择:

         普通文件        使用文件的绝对路径来指明日志文件所在的位置,例如:/var/log/cron.

         终端设备        终端可以是/dev/tty0~/dev/tty6,也可以为/dev/console.

            用户列表        例如动作为“root hackbutter”,将消息写入到用户root与hackbutter的计算机屏幕上.

        远程主机        将信息发往网络中的其他主机的syslogd守护进程,格式为“@hostname”. @符号后面可以是ip,也可以是域名,默认在/etc/hosts文件下loghost这个别名已经指定给了本机。

            user1,user2 指定用户。如果指定用户已登录,那么他们将收到信息;

        *           所有用户。所有已登录的用户都将收到信息。

    3: 具体实例

        我们来看看/etc/syslog.conf文件中的实例:

        NTP-SERVER:/#vi /etc/syslog.conf

    # Log all kernel messages to the console.

    # Logging much else clutters up 使杂乱the screen.

    #kern.*                                                 /dev/console

    # Log anything (except mail) of level info or higher.

    # Don't log private authentication证明 messages!

    *.info;mail.none;authpriv.none;cron.none                /var/log/messages

    将info或更高级别的消息送到/var/log/messages,除了mail,authpriv,cron以外.

            //其中*是通配符,代表任何设备;none表示不对任何级别的信息进行记录.

    # The authpriv file has restricted access.

    authpriv.*                                              /var/log/secure

    #这主要是一些和权限使用相关的信息

    # Log all the mail messages in one place.

    mail.*                                                  /var/log/maillog

    # Log cron stuff

    cron.*                                                  /var/log/cron

    这主要是和系统中定期执行的任务相关的信息.

    # Everybody gets emergency紧急 messages

    *.emerg                                                 *

    //将任何设备的emerg(系统不可用)级别的信息发送给所有正在系统上的用户.

    # Save news errors of level crit and higher in a special file.

    # Log all kernel messages to the console.

    # Logging much else clutters up the screen.

    #kern.*                                                 /dev/console

    # Log anything (except mail) of level info or higher.

    # Don't log private authentication messages!

    *.info;mail.none;authpriv.none;cron.none                /var/log/messages

    # The authpriv file has restricted access.

    authpriv.*                                              /var/log/secure

    # Log all the mail messages in one place.

    mail.*                                                  /var/log/maillog

    # Log cron stuff

    cron.*                                                  /var/log/cron

    # Everybody gets emergency messages

    *.emerg                                                 *

    # Save news errors of level crit and higher in a special file.

    uucp,news.crit                                          /var/log/spooler

    # Save boot messages also to boot.log

    local7.*                                                /var/log/boot.log

    //将和系统启动相关的信息记录到/var/log/boot.log文件中.

     配置文件的语法说明
                    (1)    *用作设备或优先级时,可以匹配所有的设备或优先级.
                    (2)    *用作动作时,将消息发送给所有的登录用户.
                    (3)    多个选择器可在同一行中,并使用分号分隔开,且后面的会覆盖前面的.如,uucp,news.crit.
                    (4)    关键字none用作优先级时,会屏蔽所有来自指定设备的消息.
                    (5)    通过使用相同的选择器和不同的动作,同一消息可以记录到多个位置.
                    (6)    syslog.conf文件中后面的配置行不会覆盖前面的配置行,每一行指定的动作都独立的运作.

  • 相关阅读:
    android adb
    5 个免费的受欢迎的 SQLite 管理工具
    [Android]通过setImageURI设置网络上面的图片
    Android TextView实现长按复制文本功能的方法
    View工作原理(四)view的layout过程
    Anaroid WebView详解大全
    Android 如何在Eclipse中查看Android API源码以及support包源码
    关于Android的.so文件你所需要知道的
    AS问题解决系列3—iCCP: Not recognizing known sRGB profile(转)
    安卓App设计博文
  • 原文地址:https://www.cnblogs.com/zhouhbing/p/3997233.html
Copyright © 2020-2023  润新知