home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / boot / i386 / rescue / etc / init.d / syslog < prev   
Text File  |  2006-11-29  |  4KB  |  165 lines

  1. #! /bin/sh
  2. #
  3. # Copyright (c) 1996-2001 SuSE GmbH Nuernberg, Germany.
  4. # Copyright (c) 2002-2003 SuSE Linux AG, Nuernberg, Germany.
  5. #
  6. # Author: Florian La Roche <florian@suse.de>, 1996
  7. #      Werner Fink <werner@suse.de>, 1998-2001
  8. #
  9. # /etc/init.d/syslog
  10. #
  11. ### BEGIN INIT INFO
  12. # Provides:       syslog
  13. # Required-Start: network 
  14. # Should-Start:   earlysyslog
  15. # Required-Stop:  network
  16. # Default-Start:  2 3 5
  17. # Default-Stop:
  18. # Description:    Start the system logging daemons
  19. ### END INIT INFO
  20.  
  21. . /etc/sysconfig/syslog
  22.  
  23. BINDIR=/sbin
  24.  
  25. case "$SYSLOG_DAEMON" in
  26.     syslog-ng)
  27.     syslog=syslog-ng
  28.     config=/etc/syslog-ng/syslog-ng.conf
  29.     params="$SYSLOG_NG_PARAMS"
  30.     ;;
  31.     *)
  32.     syslog=syslogd
  33.     config=/etc/syslog.conf
  34.     params="$SYSLOGD_PARAMS"
  35.     ;;
  36. esac
  37. # add additional sockets to params
  38. for variable in ${!SYSLOGD_ADDITIONAL_SOCKET*}; do
  39.     eval value=\$$variable
  40.     test -n "${value}" && test -d ${value%/*} && \
  41.     params="$params -a $value"
  42. done
  43.  
  44. syslog_pid="/var/run/${syslog}.pid"
  45. syslog_bin=${BINDIR}/$syslog
  46.   klog_bin=${BINDIR}/klogd
  47. syslog_use=""
  48.  
  49. # check config and programs
  50. test -s ${config}      || {
  51.     echo 1>&2 "${config} does not exist"
  52.     if test "$1" == "stop" ; then exit 0 ; else exit 6 ; fi
  53. }
  54. test -x ${syslog_bin} || {
  55.     echo 1>&2 "${syslog_bin} is not installed"
  56.     if test "$1" == "stop" ; then exit 0 ; else exit 5 ; fi
  57. }
  58. test -x ${klog_bin}   || {
  59.     echo 1>&2 "${klog_bin} is not installed"
  60.     if test "$1" == "stop" ; then exit 0 ; else exit 5 ; fi
  61. }
  62. test -s /var/lock/subsys/syslogd && {
  63.     read -t 5 syslog_use < /var/lock/subsys/syslogd
  64. }
  65. test -z "$syslog_use" && syslog_use=${syslog_bin}
  66.  
  67. #
  68. # Do not translate symbol addresses for 2.6 kernel
  69. #
  70. case `uname -r` in
  71. 0.*|1.*|2.[0-4].*)
  72.     ;;
  73. *)
  74.     KLOGD_PARAMS="${KLOGD_PARAMS:+$KLOGD_PARAMS }-x"
  75.     ;;
  76. esac
  77.  
  78. . /etc/rc.status
  79. rc_reset
  80. case "$1" in
  81.     start)
  82.     if test -f /var/lock/subsys/earlysyslog ; then
  83.         # Syslog service already done
  84.         rm -f  /var/lock/subsys/earlysyslog
  85.         exit 0
  86.     fi
  87.     if test "$2" = "early" ; then
  88.         # Start syslog service early
  89.         touch  /var/lock/subsys/earlysyslog
  90.      fi
  91.  
  92.     if ! test -e /dev/xconsole ; then
  93.         mkfifo -m 0600 /dev/xconsole
  94.         chown root:tty /dev/xconsole
  95.     fi
  96.     if test -s /var/run/klogd.pid ; then
  97.         killproc ${klog_bin}
  98.     fi
  99.     if test -s ${syslog_pid} ; then
  100.         killproc -p ${syslog_pid} ${syslog_use}
  101.         echo -n "Re-"
  102.     fi
  103.     echo -n "Starting syslog services"
  104.     test -z "$KERNEL_LOGLEVEL" && KERNEL_LOGLEVEL=1
  105.  
  106.     startproc -p ${syslog_pid} ${syslog_bin} ${params}
  107.     rc_status
  108.  
  109.     # Remember the currently used syslog daemon
  110.     echo ${syslog_bin} > /var/lock/subsys/syslogd
  111.  
  112.     if test $? -eq 0 ; then
  113.         startproc ${klog_bin} -c $KERNEL_LOGLEVEL $KLOGD_PARAMS
  114.         rc_status
  115.     fi
  116.     rc_status -v
  117.     ;;
  118.     stop)
  119.     rm -f /var/lock/subsys/earlysyslog
  120.     test "$2" = "early" && exit 0
  121.  
  122.     echo -n "Shutting down syslog services"
  123.     killproc          -TERM ${klog_bin}   ; rc_status
  124.     killproc -p ${syslog_pid} -TERM ${syslog_use} ; rc_status -v
  125.     rm -f /var/lock/subsys/syslogd
  126.     ;;
  127.     try-restart|condrestart)
  128.     if test "$1" = "condrestart"; then
  129.         echo "${attn} Use try-restart ${done}(LSB)${attn} instead${norm}"
  130.     fi
  131.     $0 status
  132.     if test $? = 0; then
  133.         $0 restart
  134.     else
  135.         rc_reset    # Not running is not a failure.
  136.     fi
  137.     rc_status
  138.     ;;
  139.     restart)
  140.     $0 stop
  141.     $0 start
  142.     rc_status
  143.     ;;
  144.     reload|force-reload)
  145.     echo -n "Reload syslog service"
  146.     killproc          -TSTP ${klog_bin}   ; rc_status
  147.     killproc -p ${syslog_pid} -HUP  ${syslog_use} ; rc_status
  148.     killproc          -CONT ${klog_bin}   ; rc_status
  149.     killproc          -USR2 ${klog_bin}   ; rc_status -v
  150.     ;;
  151.     status)
  152.     echo -n "Checking for service syslog:"
  153.     checkproc              ${klog_bin}   ; rc_status
  154.     checkproc -p ${syslog_pid}    ${syslog_use} ; rc_status -v
  155.     ;;
  156.     probe)
  157.     test ${config} -nt ${syslog_pid} && echo reload
  158.     ;;
  159.     *)
  160.     echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"
  161.     exit 1
  162.     ;;
  163. esac
  164. rc_exit
  165.