Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:lafenghu
icinga
rcido2db
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File rcido2db of Package icinga
#!/bin/sh # # Startup script for IDO2DB # # /etc/init.d/ido2db # and its symbolic link # /usr/sbin/rcido2db # ### BEGIN INIT INFO # Provides: ido2db # Required-Start: $syslog $remote_fs # Should-Start: mysql # Required-Stop: $syslog $remote_fs # Should-Stop: mysql # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Short-Description: Icinga Data Output Utilities # Description: Automatic startup and shutdown of Icinga IDO2DB. # IDOUtils is an Icinga addon allowing you to store Icinga data (current status # information, state history, notification history, etc.) in a MySQL database. ### END INIT INFO # Note on runlevels: # 0 - halt/poweroff 6 - reboot # 1 - single user 2 - multiuser without network exported # 3 - multiuser w/ network (text mode) 5 - multiuser w/ network and X11 (xdm) . /etc/rc.status IDO2DB_BIN="/usr/sbin/ido2db" IDO2DB_CFG="/etc/icinga/ido2db.cfg" ICINGA_SYSCONFIG="/etc/sysconfig/icinga" # grab a config option function get_var() { if [ -n "$2" ]; then set -- `grep ^$1 $2 | sed 's@=@ @' | tr -d '[:cntrl:]'` else set -- `grep ^$1 "$IDO2DB_CFG" | sed 's@=@ @' | tr -d '[:cntrl:]'` fi shift # remove first ARG => search-string echo $* } # check some default files and directories function check_files() { # remove some perhaps left over files for file in "$lock_file" "$socket_name"; do test -e "$file" && rm -f "$file" done # create lock directory if it doesn't exist PIDDIR=$(dirname $lock_file) test -d "$PIDDIR" || install -d -m755 -o$ido2db_user -g$ido2db_group "$PIDDIR" } test -x $IDO2DB_BIN || { echo "$IDO2DB_BIN not installed"; if [ "$1" = "stop" ]; then exit 0; else exit 5; fi; } test -r $IDO2DB_CFG || { echo "$IDO2DB_CFG not existing"; if [ "$1" = "stop" ]; then exit 0; else exit 6; fi; } # Check for existence of sysconfig file and read it test -r "$ICINGA_SYSCONFIG" || { echo "$ICINGA_SYSCONFIG not existing or readable."; if [ "$1" = "stop" ]; then exit 0; else exit 6; fi; } . "$ICINGA_SYSCONFIG" # set values for sysconfig vars if [ -n "$IDO2DB_NICELEVEL" ]; then NICELEVEL="-n $IDO2DB_NICELEVEL" else NICELEVEL="-n 0" fi if [ -z "$IDO2DB_TIMEOUT" ]; then IDO2DB_TIMEOUT=10 fi # # get variables from config file # lock_file="$(get_var lock_file)" socket_name="$(get_var socket_name)" ido2db_user="$(get_var ido2db_user)" ido2db_group="$(get_var ido2db_group)" # # use default values if above check doesn't work # : ${lock_file:=/var/run/icinga/ido2db.pid} : ${socket_name:=/var/spool/icinga/ido2db.sock} : ${ido2db_user:=icinga} : ${ido2db_group:=icinga} # Reset status of this service rc_reset case "$1" in start) echo -n "Starting Ido2db " IDO2DBPID=$(pidof "$IDO2DB_BIN") if [ -z "$IDO2DBPID" ]; then check_files fi startproc $NICELEVEL -p "$lock_file" "$IDO2DB_BIN" -c "$IDO2DB_CFG" # Remember status and be verbose rc_status -v ;; stop) echo -n "Shutting down Ido2db " if checkproc "$IDO2DB_BIN" ; then killproc -p "$lock_file" -TERM "$IDO2DB_BIN" sleep 1 if [ -e "$lock_file" ]; then echo "Warning - Ido2db did not exit in a timely manner. Waiting..." while [ -e "$lock_file" ] && [ $IDO2DB_TIMEOUT -gt 0 ] ; do sleep 1 IDO2DB_TIMEOUT=$[$IDO2DB_TIMEOUT-1] echo -n '.' [ $IDO2DB_TIMEOUT -eq 41 ] && echo done fi if checkproc "$IDO2DB_BIN" ; then killproc -p "$lock_file" -SIGKILL "$IDO2DB_BIN" echo -n "Warning: Ido2db killed" fi else echo -n "Ido2db not running" rc_failed 7 fi check_files rc_reset # Remember status and be verbose rc_status -v ;; try-restart) ## Do a restart only if the service was active before. $0 status if test $? = 0; then $0 restart else rc_reset # Not running is not a failure. fi rc_status ;; restart) $0 stop $0 start rc_status ;; reload|force-reload) echo -n "Reload service Ido2db " config_check if [ $? -eq 0 ]; then echo -n "Passed configuration check - reloading..." killproc -HUP -p "$lock_file" "$IDO2DB_BIN" else echo "- Error in configuration files" echo -n "- aborting reload - please read $IDO2DB_CFG_ERR_LOG" rc_failed fi rc_status -v ;; status) echo -n "Checking for Ido2db " checkproc -p "$lock_file" "$IDO2DB_BIN" rc_status -v ;; check) echo -n "Starting configuration check " config_check if [ $? -eq 0 ]; then echo "- passed configuration check" test -f $IDO2DB_CFG_ERR_LOG && rm $IDO2DB_CFG_ERR_LOG rc_reset else echo "- detected Error in configuration files" echo "Please read $IDO2DB_CFG_ERR_LOG" rc_failed fi rc_status -v ;; check_verbose) echo "Running verbose configuration check..." config_check verbose exitcode=$? cat "$IDO2DB_CFG_ERR_LOG" rc_failed $exitcode rc_status -v rc_exit ;; *) echo "Usage: $0 {start|stop|status|try-restart|restart|reload|check|check_verbose}" exit 1 ;; esac rc_exit
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor