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

时间: 2024-10-12 20:38:31

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

批量生成控制文件,用sqlldr自动导入多个表的数据

生成控制文件 准备工作: SQL>set colsep ' '; //-域输出分隔符SQL>set echo off; //显示start启动的脚本中的每个sql命令,缺省为onSQL> set echo on //设置运行命令是是否显示语句SQL> set feedback on; //设置显示"已选择XX行"SQL>set feedback off; //回显本次sql命令处理的记录条数,缺省为onSQL>set heading off; //输

sqlldr批量生成控制文件

参考文档:http://askjoey.blog.51cto.com/7594056/1671852 环境:oracle11g,redhat linux 1.建立基础表 create table TAB_COLUMN_UNION(  TAB_COLUMN_ORA    VARCHAR2(4000),  TAB_COLUMN_SOURCE VARCHAR2(4000),  TABLE_NAME        VARCHAR2(500))tablespace SDATA  pctfree 10  i

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

1.副总裁需要裸恢复的严峻现实 集团总部的信息部负责人给我打电话说为了找一年前的记录,所以需要对一年前2015年5月1日的数据进行恢复.而2016年初因为进行迁移,所以有些文件可能丢失,手上只有rman全备文件,希望在一天之内找回,集团一个副总裁在等着这个数据有急用. 我在电话里面说马上去做,接完电话,想到只有rman备份文件,而且是备份的数据文件,没有控制文件没有参数文件的备份,所以普通的 (1)      先恢复控制文件restore controlfile from '-bak'; (2)

Oracle基础 06 控制文件 controlfile

--查看控制文件路径 show parameter control_files; --控制文件的备份,三种方式1)使用OS命令进行拷贝:1)open状态下,使用alter database命令生成控制文件副本:2)open状态下,使用alter database backup controlfile to trace命令将控制文件备份到跟踪文件: --控制文件的恢复,两种方式1)mount状态下,使用recover database using backup controlfile2)mount

验证控制文件、归档文件、不同BLOCK大小的数据文件对应的RMAN备份集不在同一PIECE

实验为了证明如下:---数据库版本 11.2.0.3. RMAN备份中,归档日志.控制文件和数据文件不能放在同一个备份集里,因为数据文件所在的备份集以Oracel 数据块为最小单位, 而控制文件块大小为作为16384,16K.归档日志文件所在的备份集也是以操作系统块为最小单位,此处为512字节. 所以归档日志文件备份集.控制文件备份集和数据文件备份集不能在同一个备份集里面. ---以上都是默认参数时的,当然可以使用piece=N或者maxpiecesize=1g之类参数来调整. 证明以上以后,创

遇到ORA-01207: 文件比控制文件更新 - 旧的控制文件解决办法-简单版

遇到这样的问题,如ORA-01207: 文件比控制文件更新 - 旧的控制文件 解决问题的思路是重建控制文件 注意: 1.不知道会不会丢一小部分数据.适用于不重要的库和已经停机的业务,或者急救业务. 可以尝试从不同的地方找原来的control文件,几个不同的control文件如果都一样,说明只能这么恢复,如果不一样,尽量找系统表空间比较新的control去用,因为不涉及用户数据. 2.做之前保存之前的控制文件!!!! 报错如下: SQL>startupORACLE 例程已经启动.Total Sys

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

Unity自定义Debug日志文件,利用VS生成Dll文件并使用Dotfuscated进行混淆,避免被反编译. 1.打开VS,博主所用版本是Visual Studio 2013. 2.新建一个VC项目,选择类库,取名为JefferyChan,具体步骤如下图: 3.因为要调用Unity中的相关文件,所以这里要引入外部文件.首先在Unity的安装文件夹中找到UnityEngine.dll,我的路径是:D:\Program Files (x86)\Unity\Editor\Data\Managed 如

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

有些时候需要将Oracle的多个数据文件以及日志文件重定位或者迁移到新的分区或新的位置,比如磁盘空间不足,或因为特殊需求.对于这种情形可以采取批量迁移的方式将多个数据文件或者日志文件实现一次性迁移.当然备份恢复也是其中的方式之一.本文主要描述如何使用批量方式来迁移数据文件,日志文件.如需要也可以将整个数据库迁移到新的位置以及重命名数据库. [sql] view plain copy print? 1.环境及需求 [email protected]:~> cat /etc/issue Welcom

【翻译自mos文章】在重建控制文件之后,丢失了数据库补充日志信息(Missed Database Supplemental Log Information)

在重建控制文件之后,丢失了数据库补充日志信息(Missed Database Supplemental Log Information) 参考原文: Missed Database Supplemental Log Information After Recreate Controlfile In 10g Database. (Doc ID 1474952.1) 适用于: Oracle Server - Enterprise Edition - Version 10.1.0.2 and late