Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37412336
en ru br
Репозитории ALT

Группа :: Система/Настройка/Оборудование
Пакет: scsitarget-utils

 Главная   Изменения   Спек   Патчи   Исходники   Загрузить   Gear   Bugs and FR  Repocop 

#!/bin/sh
#
# chkconfig: - 91 35
# description: Starts and stops the tgtd iSCSI target daemon
#
# pidfile: /var/run/tgtd.pid


# Source function library.
if [ -f /etc/init.d/functions ] ; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
. /etc/rc.d/init.d/functions
else
exit 1
fi

# Avoid using root's TMPDIR
unset TMPDIR

. /etc/sysconfig/tgtd

DAEMON=tgtd
ADM=tgtadm
ADMIN=tgt-admin
PIDFILE=/var/run/$DAEMON.pid
LOCKFILE=/var/lock/subsys/$DAEMON

RETVAL=0
NAME="iSCSI target"

daemon_status() {
ps -C $DAEMON -o cmd= | grep -v defunct > /dev/null
return $?
}

start() {
START_OPTIONS1="-f $TGTD_OPTS"
START_OPTIONS2="--op update --mode sys --name State -v offline"
START_OPTIONS3="--update ALL -c $TGTD_CONFIG"
START_OPTIONS4="--op update --mode sys --name State -v ready"
daemon_status
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
msg_already_running "$NAME"
passed
echo
return 1
fi
start_daemon --make-pidfile --pidfile $PIDFILE --displayname "$NAME" $DAEMON $START_OPTIONS1
RETVAL=$?
[ $RETVAL -eq 0 ] && touch $LOCKFILE || return 1
$ADM $START_OPTIONS2
RETVAL=$?
[ ! $RETVAL -eq 0 ] && return $RETVAL
$ADMIN $START_OPTIONS3
RETVAL=$?
[ ! $RETVAL -eq 0 ] && return $RETVAL
$ADM $START_OPTIONS4
RETVAL=$?
return $RETVAL
}

stop() {
STOP_OPTIONS1="--op update --mode sys --name State -v offline"
STOP_OPTIONS2="--update ALL -c /dev/null"
STOP_OPTIONS3="--op delete --mode system"
daemon_status
RETVAL=$?
if [ $RETVAL -eq 1 ]; then
msg_not_running "$NAME"
passed
echo
return 1
fi
msg_stopping "$NAME"
$ADM $STOP_OPTIONS1
RETVAL=$?
[ ! $RETVAL -eq 0 ] && failure && return $RETVAL
$ADMIN $STOP_OPTIONS2
RETVAL=$?
[ ! $RETVAL -eq 0 ] && failure && return $RETVAL
$ADM $STOP_OPTIONS3
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
success
else
failure
fi
echo
[ $RETVAL -eq 0 ] && rm -f $LOCKFILE && rm -f $PIDFILE
return $RETVAL
}

reload() {
daemon_status
RETVAL=$?
if [ $RETVAL -eq 1 ]; then
msg_not_running "$NAME"
passed
echo
return 1
fi
msg_reloading "$NAME"
$ADMIN --update ALL -c $TGTD_CONFIG
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
success
else
failure
fi
echo
return $RETVAL
}

restart() {
stop
start
}

status() {
daemon_status
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
msg_already_running "$NAME"
else
msg_not_running "$NAME"
fi
echo
return $RETVAL
}

case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
reload)
reload
;;
status)
status
;;
condrestart)
[ -f $LOCKFILE ] && restart || :
;;
condstop)
[ -f $LOCKFILE ] && stop || :
;;
*)
echo $"Usage: $0 {start|stop|restart|reload|status|condrestart|condstop}"
exit 2
esac

exit $?
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin