X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-si%2Fdebian%2Fgosa-si-common.init;h=68c59fc65e6a6fbaa190453c9a19f94bb25bb8b3;hb=d96364058fc5b8e469ae5c608aaad9623838170c;hp=8ce729a385b0b4003efca464db13ebcc9bb3ad1d;hpb=4f1ff35776840f077a9ed0918be421ff4975c56f;p=gosa.git diff --git a/gosa-si/debian/gosa-si-common.init b/gosa-si/debian/gosa-si-common.init index 8ce729a38..68c59fc65 100755 --- a/gosa-si/debian/gosa-si-common.init +++ b/gosa-si/debian/gosa-si-common.init @@ -13,6 +13,16 @@ # signaling for all communication partners. ### END INIT INFO +# Start/stop the ctftpd daemon. +SERVER="gosa-si-server" +CLIENT="gosa-si-client" +DAEMON_SERVER="/usr/sbin/${SERVER}" +DAEMON_CLIENT="/usr/sbin/${CLIENT}" +PIDFILE_SERVER="/var/run/${SERVER}.pid" +PIDFILE_CLIENT="/var/run/${CLIENT}.pid" + +PATH="/sbin:/usr/sbin:/bin:/usr/bin" + # Load defaults [ -r /etc/default/gosa-si ] && . /etc/default/gosa-si @@ -21,24 +31,24 @@ start_client() { - start-stop-daemon --start --quiet --pidfile /var/run/gosa-si-client.pid --name gosa-si-client --startas /usr/sbin/gosa-si-client -- $DEBUG + start-stop-daemon --start --quiet --pidfile ${PIDFILE_CLIENT} --name ${CLIENT} --startas ${DAEMON_CLIENT} -- $DEBUG } start_server() { - start-stop-daemon --start --quiet --pidfile /var/run/gosa-si-server.pid --name gosa-si-server --startas /usr/sbin/gosa-si-server -- $1 $DEBUG + start-stop-daemon --start --quiet --pidfile ${PIDFILE_SERVER} --name ${SERVER} --startas ${DAEMON_SERVER} -- $1 $DEBUG } stop_client() { - start-stop-daemon --stop --retry 5 --quiet --pidfile /var/run/gosa-si-client.pid --name gosa-si-client + start-stop-daemon --stop --retry 5 --quiet --pidfile ${PIDFILE_CLIENT} --name ${CLIENT} kill `ps -C gosa-si-client -o pid=` > /dev/null 2>&1 ! ps -C gosa-si-client -o pid= > /dev/null 2>&1 } stop_server() { - start-stop-daemon --stop --retry 5 --quiet --pidfile /var/run/gosa-si-server.pid --name gosa-si-server + start-stop-daemon --stop --retry 5 --quiet --pidfile ${PIDFILE_SERVER} --name ${SERVER} kill `ps -C gosa-si-server -o pid=` > /dev/null 2>&1 ! ps -C gosa-si-server -o pid= > /dev/null 2>&1 } @@ -46,42 +56,78 @@ stop_server() { case "$1" in start) log_daemon_msg "Starting GOsa support infrastructure" - if [ -x /usr/sbin/gosa-si-server ]; then + if [ -x ${DAEMON_SERVER} ]; then log_progress_msg "daemon" start_server fi - if [ "$START_CLIENT" = "1" -a -x /usr/sbin/gosa-si-client ]; then + if [ "$START_CLIENT" = "1" -a -x ${DAEMON_CLIENT} ]; then log_progress_msg "client" start_client fi log_end_msg $? ;; stop) log_daemon_msg "Stopping GOsa support infrastructure" - if [ "$START_CLIENT" = "1" -a -x /usr/sbin/gosa-si-client ]; then + if [ "$START_CLIENT" = "1" -a -x ${DAEMON_CLIENT} ]; then log_progress_msg "client" stop_client fi - if [ -x /usr/sbin/gosa-si-server ]; then + if [ -x ${DAEMON_SERVER} ]; then log_progress_msg "daemon" stop_server fi log_end_msg $? ;; reload|force-reload|restart) log_daemon_msg "Restarting GOsa support infrastructure" - if [ "$START_CLIENT" = "1" -a -x /usr/sbin/gosa-si-client ]; then + if [ "$START_CLIENT" = "1" -a -x ${DAEMON_CLIENT} ]; then stop_client fi - if [ -x /usr/sbin/gosa-si-server ]; then + if [ -x ${DAEMON_SERVER} ]; then stop_server start_server fi - if [ "$START_CLIENT" = "1" -a -x /usr/sbin/gosa-si-client ]; then + if [ "$START_CLIENT" = "1" -a -x ${DAEMON_CLIENT} ]; then start_client fi log_progress_msg "done" log_end_msg $? ;; -*) log_action_msg "Usage: /etc/init.d/gosa-si {start|stop|restart|reload|force-reload}" +restart-client) log_daemon_msg "Restarting GOsa support infrastructure client" + if [ "$START_CLIENT" = "1" -a -x ${DAEMON_CLIENT} ]; then + stop_client + fi + if [ "$START_CLIENT" = "1" -a -x ${DAEMON_CLIENT} ]; then + start_client + fi + log_progress_msg "done" + log_end_msg $? + ;; +status) + status=0 + pidofproc -p "${PIDFILE_SERVER}" "${DAEMON_SERVER}" >/dev/null || status="$?" + log_daemon_msg "Status of GOsa-si server" "${NAME}" + if [ "$status" = 0 ]; then + log_progress_msg "is running" + log_end_msg 0 + else + log_progress_msg "is not running" + log_end_msg $status + fi + + if [ "$START_CLIENT" = "1" -a -x ${DAEMON_CLIENT} ]; then + status=0 + pidofproc -p "${PIDFILE_CLIENT}" "${DAEMON_CLIENT}" >/dev/null || status="$?" + log_daemon_msg "Status of GOsa-si client" "${NAME}" + if [ "$status" = 0 ]; then + log_progress_msg "is running" + log_end_msg 0 + else + log_progress_msg "is not running" + log_end_msg $status + fi + fi + ;; + +*) log_action_msg "Usage: /etc/init.d/gosa-si {start|stop|restart|restart-client|reload|force-reload|status}" exit 2 ;; esac