Jiri Moskovcak 0082787
#!/bin/bash
Jiri Moskovcak 0082787
# Start ABRT kernel log watcher
Jiri Moskovcak 0082787
#
Jiri Moskovcak 0082787
# chkconfig: 35 82 16
Jiri Moskovcak 0082787
# description: Watches system log for oops messages, creates ABRT dump directories for each oops
Jiri Moskovcak 0082787
### BEGIN INIT INFO
Jiri Moskovcak 0082787
# Provides: abrt-oops
Jiri Moskovcak 0082787
# Required-Start: $abrtd
Jiri Moskovcak 0082787
# Default-Stop: 0 1 2 6
Jiri Moskovcak 0082787
# Default-Start: 3 5
Jiri Moskovcak 0082787
# Short-Description: Watches system log for oops messages, creates ABRT dump directories for each oops
Jiri Moskovcak 0082787
# Description: Watches system log for oops messages, creates ABRT dump directories for each oops
Jiri Moskovcak 0082787
### END INIT INFO
Jiri Moskovcak 0082787
Jiri Moskovcak 0082787
# Source function library.
Jiri Moskovcak 0082787
. /etc/rc.d/init.d/functions
Jiri Moskovcak 0082787
Jiri Moskovcak 0082787
# For debugging
Jiri Moskovcak 0082787
dry_run=false
Jiri Moskovcak 0082787
verbose=false
Jiri Moskovcak 0082787
Jiri Moskovcak 0082787
# We don't have pid files, therefore have to use
Jiri Moskovcak 0082787
# a flag file in /var/lock/subsys to enable GUI service tools
Jiri Moskovcak 0082787
# to figure out our status
Jiri Moskovcak 0082787
LOCK="/var/lock/subsys/abrt-oops"
Jiri Moskovcak 0082787
Jiri Moskovcak 0082787
RETVAL=0
Jiri Moskovcak 0082787
Jiri Moskovcak 0082787
check() {
Jiri Moskovcak 0082787
	# Check that we're a privileged user
Jiri Moskovcak 0082787
	[ "`id -u`" = 0 ] || exit 4
Jiri Moskovcak 0082787
}
Jiri Moskovcak 0082787
Jiri Moskovcak 0082787
start() {
Jiri Moskovcak 0082787
	check
Jiri Moskovcak 0082787
	killall abrt-dump-oops 2>/dev/null
Jiri Moskovcak 0082787
	setsid abrt-dump-oops -d /var/spool/abrt -rwx /var/log/messages </dev/null >/dev/null 2>&1 &
Jiri Moskovcak 0082787
	$dry_run || touch -- "$LOCK"
Jiri Moskovcak 0082787
	return $RETVAL
Jiri Moskovcak 0082787
}
Jiri Moskovcak 0082787
Jiri Moskovcak 0082787
stop() {
Jiri Moskovcak 0082787
	check
Jiri Moskovcak 0082787
	killall abrt-dump-oops
Jiri Moskovcak 0082787
	$dry_run || rm -f -- "$LOCK"
Jiri Moskovcak 0082787
	return $RETVAL
Jiri Moskovcak 0082787
}
Jiri Moskovcak 0082787
Jiri Moskovcak 0082787
restart() {
Jiri Moskovcak 0082787
	stop
Jiri Moskovcak 0082787
	start
Jiri Moskovcak 0082787
}
Jiri Moskovcak 0082787
Jiri Moskovcak 0082787
reload() {
Jiri Moskovcak 0082787
	restart
Jiri Moskovcak 0082787
}
Jiri Moskovcak 0082787
Jiri Moskovcak 0082787
case "$1" in
Jiri Moskovcak 0082787
start)
Jiri Moskovcak 0082787
	start
Jiri Moskovcak 0082787
	;;
Jiri Moskovcak 0082787
stop)
Jiri Moskovcak 0082787
	stop
Jiri Moskovcak 0082787
	;;
Jiri Moskovcak 0082787
reload)
Jiri Moskovcak 0082787
	reload
Jiri Moskovcak 0082787
	;;
Jiri Moskovcak 0082787
force-reload)
Jiri Moskovcak 0082787
	echo "$0: Unimplemented feature."
Jiri Moskovcak 0082787
	RETVAL=3
Jiri Moskovcak 0082787
	;;
Jiri Moskovcak 0082787
restart)
Jiri Moskovcak 0082787
	restart
Jiri Moskovcak 0082787
	;;
Jiri Moskovcak 0082787
condrestart)
Jiri Moskovcak 0082787
	# Is it already running?
Jiri Moskovcak 0082787
	if test -f "$LOCK"; then   # yes
Jiri Moskovcak 0082787
		$verbose && printf "Running, restarting\n"
Jiri Moskovcak 0082787
		restart
Jiri Moskovcak 0082787
	fi
Jiri Moskovcak 0082787
	;;
Jiri Moskovcak 0082787
status)
Jiri Moskovcak 0082787
	status abrt-dump-oops
Jiri Moskovcak 0082787
	RETVAL=$?
Jiri Moskovcak 0082787
	;;
Jiri Moskovcak 0082787
*)
Jiri Moskovcak 0082787
	echo $"Usage: $0 {start|stop|status|restart|condrestart|reload|force-reload}"
Jiri Moskovcak 0082787
	RETVAL=2
Jiri Moskovcak 0082787
esac
Jiri Moskovcak 0082787
Jiri Moskovcak 0082787
exit $RETVAL