系统启动脚本分析(5)--syslog脚本

发表于:2007-07-04来源:作者:点击数: 标签:
摘要 这段时间在搞一个微型的Linux,将它作为一个项目的平台,这个过程中,看了研究了一下Linux的启动过程,同时把启动配置文件看了一下,作了一下注释,同时和大家共享一下:)。我使用的Linux平台是Red Hat Linux 7.3 #!/bin/bash # # syslog Starts syslogd/

  摘要
  这段时间在搞一个微型的Linux,将它作为一个项目的平台,这个过程中,看了研究了一下Linux的启动过程,同时把启动配置文件看了一下,作了一下注释,同时和大家共享一下:)。我使用的Linux平台是Red Hat Linux 7.3
  #!/bin/bash
  #
  # syslog Starts syslogd/klogd.
  #
  #
  # chkconfig: 2345 12 88
  # description: Syslog is the facility by which many daemons use to log
  # messages to various system log files. It is a good idea to always
  # run syslog.
  ### BEGIN INIT INFO
  # Provides: $syslog
  ### END INIT INFO
  # Source function library.
  . /etc/init.d/functions
  [ -f /sbin/syslogd ]' 'exit 0
  [ -f /sbin/klogd ]' 'exit 0
  ##首先判断syslogd和klogd这两个文件是否存在,如果存在才能执行下面的脚本
  # Source config
  if [ -f /etc/sysconfig/syslog ] ; then
  . /etc/sysconfig/syslog
  ##导入syslog这个配置文件
  else
  SYSLOGD_OPTIONS="-m 0"
  KLOGD_OPTIONS="-2"
  fi
  RETVAL=0
  umask 077
  start() {
   echo -n $"Starting system logger: "
  daemon syslogd $SYSLOGD_OPTIONS
  ##syslogd是系统运行监测程序,在系统产生错误时,这个daemon负责把错误信息写到固定的地方
  ##daemon这个函数在functions这个文件中定义
  RETVAL=$?
  ##RETVAL设置为启动syslogd这个daemon是否成功的返回值
  echo
  echo -n $"Starting kernel logger: "
  daemon klogd $KLOGD_OPTIONS
  ##klogd是内核运行监测程序,当内核出错时,这个daemon负责把错误信息通知用户
  echo
  [ $RETVAL -eq 0 ] && touch /var/lock/subsys/syslog
  ##如果syslogd启动成功,则在/var/lock/subsys/下面建立一个空文件syslog
  return $RETVAL
  }
  stop() {
  echo -n $"Shutting down kernel logger: "
  killproc klogd
  ##killproc是在functions这个文件中定义的函数
  echo
  echo -n $"Shutting down system logger: "
  killproc syslogd
  RETVAL=$?
  echo
  [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/syslog
  return $RETVAL
  }
  rhstatus() {
  status syslogd
  status klogd
  }
  restart() {
  stop
  start
  }
  
  case "$1" in
   start)
   start
  ;;
   stop)
   stop
  ;;
   status)
   rhstatus
  ;;
   restart|reload)
   restart
  ;;
   condrestart)
   [ -f /var/lock/subsys/syslog ] && restart' ':
  ;;
   *)
  echo $"Usage: $0 {start|stop|status|restart|condrestart}"
  exit 1
  esac
  exit $?
  
  
  
  

原文转自:http://www.ltesting.net