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文件中后面的配置行不会覆盖前面的配置行,每一行指定的动作都独立的运作.

日志生成控制文件syslog.conf的更多相关文章

  1. 【RMAN】Oracle中如何备份控制文件?备份控制文件的方式有哪几种?

    真题1. 如何备份控制文件?备份控制文件的方式有哪几种? 答案:备份控制文件的方式有多种. ① 备份控制文件可以在线进行: SQL> ALTER DATABASE BACKUP CONTROLF ...

  2. oracle控制文件问题

    下午时连接数据库突然发现连不上了,监听报错找不到服务,于是登录数据库所在服务器,查看监听状态,oracle:lsnrctl status 监听状态正常,登入数据库查看[oracle@frkdb1 ~] ...

  3. ORACLE11g 没有控制文件如何通过rman备份恢复数据的详细实战过程

    1.副总裁需要裸恢复的严峻现实 集团总部的信息部负责人给我打电话说为了找一年前的记录,所以需要对一年前2015年5月1日的数据进行恢复.而2016年初因为进行迁移,所以有些文件可能丢失,手上只有rma ...

  4. Oracle基础 06 控制文件 controlfile

    --查看控制文件路径 show parameter control_files; --控制文件的备份,三种方式1)使用OS命令进行拷贝:1)open状态下,使用alter database命令生成控制 ...

  5. Oracle 控制文件损坏解决方案

    Oracle 控制文件损坏解决方案 故障一:丢失(损坏)一个控制文件 前台报错:ORA-00205:error in identifying control file,check alert log ...

  6. oracle之二控制文件

    控制文件 3.1 控制文件的功能和特点:       1)定义数据库当前物理状态,不断在往controlfile写入[SCN等]       2)维护数据的一致性       3)是一个二进制文件   ...

  7. (Unity)Unity自定义Debug日志文件,利用VS生成Dll文件并使用Dotfuscated进展混淆,避免被反编译

    Unity自定义Debug日志文件,利用VS生成Dll文件并使用Dotfuscated进行混淆,避免被反编译. 1.打开VS,博主所用版本是Visual Studio 2013. 2.新建一个VC项目 ...

  8. 批量迁移Oracle数据文件,日志文件及控制文件

    有些时候需要将Oracle的多个数据文件以及日志文件重定位或者迁移到新的分区或新的位置,比如磁盘空间不足,或因为特殊需求.对于这种情形可以采取批量迁移的方式将多个数据文件或者日志文件实现一次性迁移.当 ...

  9. 用备份控制文件做不完全恢复下的完全恢复(数据文件备份<旧>--新建表空间--控制文件备份<次新>--日志归档文件<新>)

    为什么会使用备份的控制文件? 实际工作中主要有两种情况:第一种:当前控制文件全部损坏,而数据文件备份,控制文件备份及当前日志处于不同SCN版本,它们之间又增加过表空间(数据文件).第二种:当前控制文件 ...

随机推荐

  1. Linux学习笔记二:Ubuntu安装SSH(Secure Shell)服务

    Ubuntu默认是没有安装SSH(Secure Shell)服务,如果想要通过ssh链接到Ubuntu,我们需要手动安装ssh-server. SSH分客户端ssh-client,服务端ssh-ser ...

  2. OpenFlow 消息

    消息类型 OpenFlow 的消息共分为三类: Controller-to-Switch 顾名思义,此类消息是由控制器主动发出 Features 用于获取交换机特性 Configuration 用于配 ...

  3. K Closest Numbers In Sorted Array

    Given a target number, a non-negative integer k and an integer array A sorted in ascending order, fi ...

  4. 升级系统后maxvim不能用,重新下载编译个

    1. 获取macvim源代码git clone https://github.com/b4winckler/macvim.git 2 配置及编译 编译选项 ./configure --with-fea ...

  5. Codeforces 934.C A Twisty Movement

    C. A Twisty Movement time limit per test 1 second memory limit per test 256 megabytes input standard ...

  6. laravel 5.5 在构造函数使用Session

    public function __construct() { $this->request = request(); // 验证是否登录 $this->middleware(functi ...

  7. clinical significance临床显著性

    sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&a ...

  8. Uniform Distribution均匀分布

    sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&am ...

  9. 平衡树【Treap】

    平衡树的板题,用Treap实现. 具体参见注释,写的很详细了,包括了原理,实现以及注意事项 蒟蒻写个注释板子写了两天,太弱了QAQ 感谢niiick指导 Code #include<iostre ...

  10. bzoj 2453: 维护队列

    2453: 维护队列 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1079  Solved: 503[Submit][Status][Discuss ...