Доброго времени суток.

Я не профессионал в написании init сценариев, но мне понадобилось запускать redmine.

Вот что получилось.

#! /bin/sh
#
# redmine       Redmine task tracking system
#
# chkconfig: - 70 30
# description:  \
#       Redmine is a flexible project management web application.
#       Written using Ruby on Rails framework, it is cross-platform and 
cross-database.
# processname: ruby
# config: /etc/sysconfig/redmine

# Do not load RH compatibility interface.
WITHOUT_RC_COMPAT=1

# Source function library.
. /etc/init.d/functions

SourceIfNotEmpty /etc/sysconfig/redmine

RDMSERVE=server
RDM_OPTS="-d -e $RDM_ENV"
PIDFILE=/tmp/redmine.pid
LOCKFILE=none
RETVAL=0
PS_COLUMNS="200"

RDMSERVE="$RPM_SRV/$RDMSERVE"

[ -x "$RDMSERVE" ] || exit 1

start()
{
        start_daemon --displayname redmine --pidfile "$PIDFILE" --lockfile 
"$LOCKFILE" --user "$RDM_USER" --expect-user "$RDM_USER" -- $RDMSERVE $RDM_OPTS
        ps aux --columns 200 | grep 'script/server' | grep -v grep | awk 
'{print $2}' > $PIDFILE
        RETVAL=$?
        return $RETVAL
}

stop()
{
        stop_daemon --displayname redmine --pidfile "$PIDFILE" --lockfile 
"$LOCKFILE" --expect-user "$RDM_USER" -- ruby
        RETVAL=$?
        return $RETVAL
}

restart()
{
        stop
        start
}

reload()
{
        msg_reloading redmine
        stop_daemon --pidfile "$PIDFILE" --expect-user "$RDM_USER" -HUP -- ruby
        RETVAL=$?
        return $RETVAL
}

# See how we were called.
case "$1" in
        start)
                start
                ;;
        stop)
                stop
                ;;
        reload)
                reload
                ;;
        restart)
                restart
                ;;
        condstop)
                if [ -e "$LOCKFILE" ]; then
                        stop
                fi
                ;;
        condrestart)
                if [ -e "$LOCKFILE" ]; then
                        restart
                fi
                ;;
        condreload)
                if [ -e "$LOCKFILE" ]; then
                        reload
                fi
                ;;
        status)
                status --displayname redmine --pidfile "$PIDFILE" --expect-user 
"$RDM_USER" -- ruby
                RETVAL=$?
                ;;
        *)
                msg_usage "${0##*/} 
{start|stop|reload|restart|condstop|condrestart|condreload|status}"
                RETVAL=1
esac

exit $RETVAL
# Redmine user
RDM_USER=redmine

# Redmine environment ( -e option )
RDM_ENV=production

# Redmine path to server script
RPM_SRV=/opt/redmine/redmine-0.8.0/script
begin:vcard
fn:Denis Timurovich Yagofarov
n:Yagofarov;Denis Timurovich
org:ITGIS NASU
adr:room 615;;Chokolovski blvdr., 13;Kiev;;03151;Ukraine
email;internet:[email protected]
title:system administrator
tel;work:80442480755
x-mozilla-html:FALSE
version:2.1
end:vcard

_______________________________________________
Sysadmins mailing list
[email protected]
https://lists.altlinux.org/mailman/listinfo/sysadmins

Ответить