SOLARIS上syslog的使用

类别:编程语言 点击:0 评论:0 推荐:
syslog.conf

该文件处于/etc目录下,用来控制syslogd如何处理某一facility|priority的log消息。譬如可以将某facility|priority的log消息存放到一指定的文件中,或发送到另外一台log服务器中,或通知当前登陆的用户。

 

在该配置文件中‘*’可以用来指定所有facility,但不能用来指定所有priority;同时注意facility|priority后不能带有空格,否则syslogd会忽略该配置。如下的配置都是不正确的:

user.* [TAB]/var/usr.log

user.err[SPACE][TAB]/var/usr.err.log.

 

修改完该配置文件后,为了使新的配置生效需要运行命令:

kill -HUP `cat /etc/syslog.pid`;或重启syslogd服务器:

/etc/init.d/syslog stop

/etc/init.d/syslog start

 

> /var/adm/messages.0命令用来清空日记文件

 

典型的syslog.conf文件如下:

 

 

 

logger

这是个可执行程序,位于/usr/bin目录下,用来向syslogd服务器模拟发送log消息。例如:

logger -p user.warning "Hello,I am logger"

 

newsyslog

这是个脚本程序,位于/usr/lib目录下,用来回滚log文件。这里所说的回滚是指:按时间将log文件备份到另外一个目录,清空log文件,并自动删除备份目录中过期的log文件。典型的newsyslog脚本文件如下:

#!/bin/sh

 

#

# /usr/lib/newsyslog - rotate log files (loghost)

#

LOGDIR=/var/log

if test -d $LOGDIR

then

cd $LOGDIR

 

  for LOG in messages auth.log daemon.log lpr.log mail.log news.log user.loguucp.log ; do

     test -f $LOG.6 && mv $LOG.6 $LOG.7

     test -f $LOG.5 && mv $LOG.5 $LOG.6

     test -f $LOG.4 && mv $LOG.4 $LOG.5

     test -f $LOG.3 && mv $LOG.3 $LOG.4

     test -f $LOG.2 && mv $LOG.2 $LOG.3

     test -f $LOG.1 && mv $LOG.1 $LOG.2

     test -f $LOG.0 && mv $LOG.0 $LOG.1

     test -f $LOG && mv $LOG $LOG.0

     cp /dev/null $LOG

     chmod 640 $LOG

      

   done

fi

 

/bin/kill -HUP `cat /etc/syslog.pid`

# end of file /usr/lib/newsyslog

 

newsyslog脚本需要被cron程序定时执行。

本文地址:http://com.8s8s.com/it/it26979.htm