X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=init.d%2F_start_stop;h=36a37e211d0649924a73debdafd3a3601bfb00ad;hb=f60e030a70afd8803da9daeca58561058a78d232;hp=bec49ec9f1662a46cc7aab9e8f5c1a89b4dc6b91;hpb=eebeed4bc03eaf0b5f08ff3ce4c1d1cea40b9521;p=cloudstore.git diff --git a/init.d/_start_stop b/init.d/_start_stop index bec49ec..36a37e2 100755 --- a/init.d/_start_stop +++ b/init.d/_start_stop @@ -1,4 +1,11 @@ +# by default, detach from terminal BACKGROUND=1 +# deduce name from script name +NAME=`basename $0` +# generate ZSLICE and SLICE from group name +export SLICE_GROUP=`echo $NAME | cut -d\- -f1` +export SLICE=`grep $SLICE_GROUP /var/lib/extrausers/group | cut -d: -f2` +export ZSLICE=`echo $SLICE | sed 's;^/;;'` _start_stop() { @@ -6,16 +13,21 @@ case $1 in start) cd /srv/cloudstore if [ "$BACKGROUND" -eq 1 ] ; then - ( $DAEMON 2>&1 ) > /tmp/$NAME.log & + ( $DAEMON 2>&1 ) >> $SLICE/log/$NAME.log & echo $! > /tmp/$NAME.pid else $DAEMON fi ;; stop) - kill `cat /tmp/$NAME.pid` ;; + kill `cat /tmp/$NAME.pid` + ;; + restart) + $0 stop + $0 start + ;; *) - echo "usage: $0 {start|stop}" ;; + echo "usage: $0 {start|stop|restart}" ;; esac exit 0