#!/bin/sh # # chkconfig: 345 13 89 # description: Starts and stops the iSCSI initiator # # processname: iscsid # pidfile: /var/run/iscsid.pid # config: /etc/iscsid.conf # Source function library. . /etc/init.d/functions PATH=/sbin:/bin:/usr/sbin:/usr/bin RETVAL=0 start() { echo -n $"Starting iSCSI initiator service: " modprobe -q iscsi_tcp daemon iscsid RETVAL=$? echo [ $RETVAL -eq 0 ] || return touch /var/lock/subsys/iscsi echo -n $"Setting up iSCSI targets: " TARGETS=`iscsiadm -m node 2> /dev/null | sed 's@\[\(.*\)\] .*@\1@g'` for rec in $TARGETS; do STARTUP=`iscsiadm -m node -r $rec | grep "node.startup" | cut -d' ' -f3` if [ $STARTUP = "automatic" ]; then iscsiadm -m node -r $rec -l fi done success echo } stop() { echo -n $"Stopping iSCSI initiator service: " sync TARGETS=`iscsiadm -m session | grep "\[*\]" | sed 's@\[\(.*\)\] .*@\1@g'` for rec in $TARGETS; do iscsiadm -m node -r $rec -u done killproc iscsid echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/iscsi modprobe -r iscsi_tcp 2>/dev/null } restart() { stop start } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; status) status iscsid RETVAL=$? ;; condrestart) [ -f /var/lock/subsys/iscsi ] && restart ;; *) echo $"Usage: $0 {start|stop|restart|status|condrestart}" exit 1 esac exit $RETVAL