Rev 3 | Blame | Compare with Previous | Last modification | View Log | RSS feed
#!/bin/sh## Startup script for mcelog## This should be customized for distribution standards# (using rc_status etc.)# The paths are hardcoded and are not automatically adjusted# for different prefix## chkconfig: 35 50 50# description: mcelog hardware error logging#### BEGIN INIT INFO# Provides: mcelog# Default-Start: 3 5# Default-Stop: 0 1 2 6# Short-Description: mcelog hardware error logging# Description: Start the mcelog hardware error logging.# This logs and handles CPU hardware errors on x86 systems.### END INIT INFO# pull in sysconfig settings[ -f /etc/sysconfig/mcelogd ] && . /etc/sysconfig/mcelogd# Source function library.. /etc/init.d/functions# private settingsMCELOG=${MCELOG:-/usr/sbin/mcelog}TRIGGER=/sys/devices/system/machinecheck/machinecheck0/triggerLOCKFILE="/var/lock/subsys/mcelogd"[ ! -x $MCELOG ] && ( echo "mcelog not found" ; exit 1 )[ ! -r /dev/mcelog ] && ( echo "/dev/mcelog not active" ; exit 0 )case "$MCELOG_MODE" indaemon);;trigger);;cron)echo "mcelog not started"exit 0;;*)echo "Unknown mcelog mode $MCELOG_MODE. Valid daemon/trigger/cron"exit 1esaccase "$1" instart)if [ -f $LOCKFILE ]; thenexit 0fiif [ "$MCELOG_MODE" = "daemon" ] ; thenecho "Starting mcelog daemon"daemon $MCELOG --daemon $MCELOG_OPTIONStouch $LOCKFILEelif [ -f "$TRIGGER" ] ; thenecho $MCELOG > "$TRIGGER"touch $LOCKFILEelseecho No machine check capabilityfi;;stop)if [ "$MCELOG_MODE" = "daemon" ] ; thenecho "Stopping mcelog"killproc $MCELOG -TERMrm -f $LOCKFILEelif [ "$MCELOG_MODE" = "trigger" -a -f "$TRIGGER" ]; thenecho "" > "$TRIGGER"rm -f $LOCKFILEelseecho mcelog not runningfi;;try-restart)$0 status > /dev/null && $0 restart;;restart)$0 stop$0 start;;reload)$0 try-restart;;force-reload)$0 try-restart;;status)if [ "$MCELOG_MODE" = "daemon" ] ; thenecho "Checking for mcelog"status $MCELOGfi;;*)echo "Usage: $0 {start|stop|try-restart|restart|status|force-reload|reload}"exit 1esac