#!/bin/bash ### BEGIN INIT INFO # Provides: dsmcad # Required-Start: $local_fs dbus # Required-Stop: $local_fs dbus # Should-Start: $syslog # Should-Stop: $syslog # Default-Start: 2 3 4 5 # Default-Stop: S 0 1 6 # Short-Description: TSM Client Acceptor Daemon (dsmcad) # Description: Start/Stop the TSM CAD Daemon ### END INIT INFO #PATH=/sbin:/bin:/usr/sbin:/usr/bin DESC="TSM Client Acceptor Daemon" NAME="dsmcad" DAEMON=/opt/tivoli/tsm/client/ba/bin/$NAME SCRIPTNAME="/etc/init.d/$NAME" #NC="/bin/nc" . /lib/lsb/init-functions export DSM_DIR=/opt/tivoli/tsm/client/ba/bin export DSM_CONFIG=/opt/tivoli/tsm/client/ba/bin/dsm.opt #export DSM_LOG=/var/log/tsm export DSM_LOG=/var/adm export LANG=en_US.utf8 #export LANG=de_DE.utf8 ## Functions # # Root-Check # rootcheck() { if [ $UID -ne 0 ] ; then echo "You must be a root user" 2>&1 exit 1 fi } # # Get PID of daemon # pidof_dsmcad() { PID=$(pidof $DAEMON) if [ ! $PID ]; then return 1 fi echo $PID } # # Start the dsmcad daemon # d_start () { rootcheck if [ ! $(pidof_dsmcad) ]; then start-stop-daemon --start --pidfile /var/run/dsmcad.pid --exec $DAEMON fi } # # Stop dsmcad daemon # d_stop () { rootcheck pkill -f $DAEMON } # # Get Status of dsmcad # d_status() { if [ $(pidof_dsmcad) ]; then echo "$DESC is running" else echo "$DESC is not running" fi } # # init-Skript # case $1 in start) log_daemon_msg "Starting" $DESC $DAEMON d_start if [ $(pidof dsmcad) ]; then log_end_msg 0 else log_end_msg 1 fi ;; stop) log_daemon_msg "Stopping" $DESC $DAEMON d_stop sleep 2 if [ $(pidof $DAEMON) ]; then log_end_msg 1 else log_end_msg 0 fi ;; status) d_status ;; restart) $0 stop sleep 1 $0 start ;; *) echo "Usage: /etc/init.d/dsmcad {start|stop|restart|status}" ;; esac