home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2007 September / PCWSEP07.iso / Software / Linux / Linux Mint 3.0 Light / LinuxMint-3.0-Light.iso / casper / filesystem.squashfs / etc / init.d / sysklogd < prev    next >
Encoding:
Text File  |  2007-03-08  |  2.5 KB  |  122 lines

  1. #! /bin/sh
  2. # /etc/init.d/sysklogd: start the system log daemon.
  3.  
  4. ### BEGIN INIT INFO
  5. # Provides:             syslog
  6. # Required-Start:       $local_fs $network $time
  7. # Required-Stop:        $local_fs $network $time
  8. # Default-Start:        2 3 4 5
  9. # Default-Stop:         S 0 1 6
  10. # Short-Description:    System logger
  11. ### END INIT INFO
  12.  
  13. PATH=/bin:/usr/bin:/sbin:/usr/sbin
  14.  
  15. pidfile=/var/run/syslogd.pid
  16. binpath=/sbin/syslogd
  17.  
  18. test -x $binpath || exit 0
  19. . /lib/lsb/init-functions
  20.  
  21. # Options for start/restart the daemons
  22. #   For remote UDP logging use SYSLOGD="-r"
  23. #
  24. SYSLOGD="-u syslog"
  25.  
  26. test ! -r /etc/default/syslogd || . /etc/default/syslogd
  27.  
  28. # allow ltsp to override
  29. test ! -r /etc/ltsp/syslogd || . /etc/ltsp/syslogd
  30.  
  31. . /lib/lsb/init-functions
  32.  
  33. create_xconsole()
  34. {
  35.     # Only proceed if not using devfsd
  36.     if [ -e /dev/.devfsd ] \
  37.     || ! grep -q '^[^#].*/dev/xconsole' /etc/syslog.conf
  38.     then
  39.     return
  40.     fi
  41.  
  42.     if [ ! -e /dev/xconsole ]; then
  43.     mknod -m 640 /dev/xconsole p
  44.     else
  45.     chmod 0640 /dev/xconsole
  46.     fi
  47.     chown root:adm /dev/xconsole
  48. }
  49.  
  50. running()
  51. {
  52.     # No pidfile, probably no daemon present
  53.     #
  54.     if [ ! -f $pidfile ]
  55.     then
  56.     return 1
  57.     fi
  58.  
  59.     pid=`cat $pidfile`
  60.  
  61.     # No pid, probably no daemon present
  62.     #
  63.     if [ -z "$pid" ]
  64.     then
  65.     return 1
  66.     fi
  67.  
  68.     if [ ! -d /proc/$pid ]
  69.     then
  70.     return 1
  71.     fi
  72.  
  73.     cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1`
  74.  
  75.     # No syslogd?
  76.     #
  77.     if [ "$cmd" != "$binpath" ]
  78.     then
  79.     return 1
  80.     fi
  81.  
  82.     return 0
  83. }
  84.  
  85. case "$1" in
  86.   start)
  87.     log_begin_msg "Starting system log daemon..."
  88.     create_xconsole
  89.     start-stop-daemon --start --quiet --pidfile $pidfile --name syslogd --startas $binpath -- $SYSLOGD
  90.     log_end_msg $?
  91.     ;;
  92.   stop)
  93.     log_begin_msg "Stopping system log daemon..."
  94.     start-stop-daemon --stop --quiet --pidfile $pidfile --name syslogd
  95.     log_end_msg $?
  96.     ;;
  97.   reload|force-reload)
  98.     log_begin_msg "Reloading system log daemon..."
  99.     start-stop-daemon --stop --quiet --signal 1 --pidfile $pidfile --name syslogd
  100.     log_end_msg $?
  101.     ;;
  102.   restart)
  103.     log_begin_msg "Restarting system log daemon..."
  104.     start-stop-daemon --stop --retry 5 --quiet --pidfile $pidfile --name syslogd
  105.     start-stop-daemon --start --quiet --pidfile $pidfile --name syslogd --startas $binpath -- $SYSLOGD
  106.     log_end_msg $?
  107.     ;;
  108.   reload-or-restart)
  109.     if running
  110.     then
  111.     $0 reload
  112.     else
  113.     $0 start
  114.     fi
  115.     ;;
  116.   *)
  117.     log_success_msg "Usage: /etc/init.d/sysklogd {start|stop|reload|restart|force-reload|reload-or-restart}"
  118.     exit 1
  119. esac
  120.  
  121. exit 0
  122.