Скрипт запуска-остановки-демона Odoo (OpenERP)

Я установил odoo и попробуйте вручную запустить openerp-сервер. Все ок. Мой следующий шаг - попытаться добавить odoo для автоматического запуска. Для этого я использую этот скрипт:

#!/bin/sh

### BEGIN INIT INFO
# Provides:             openerp-server
# Required-Start:       $remote_fs $syslog
# Required-Stop:        $remote_fs $syslog
# Should-Start:         $network
# Should-Stop:          $network
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    Enterprise Resource Management software
# Description:          Open ERP is a complete ERP and CRM software.
### END INIT INFO

PATH=/bin:/sbin:/usr/bin
DAEMON=/opt/odoo/openerp-server
NAME=openerp-server
DESC=openerp-server

# Specify the user name (Default: openerp).
USER=root

# Specify an alternate config file (Default: /etc/openerp-server.conf).
CONFIGFILE="/etc/openerp-server.conf"

# pidfile
PIDFILE=/var/run/$NAME.pid

# Additional options that are passed to the Daemon.
DAEMON_OPTS="-c $CONFIGFILE"

[ -x $DAEMON ] || exit 0
[ -f $CONFIGFILE ] || exit 0

checkpid() {
    [ -f $PIDFILE ] || return 1
    pid=`cat $PIDFILE`
    [ -d /proc/$pid ] && return 0
    pid=`cat $PIDFILE`
    [ -d /proc/$pid ] && return 0
    return 1
}

case "${1}" in
        start)
                echo -n "Starting ${DESC}: "

                start-stop-daemon --start --quiet --pidfile ${PIDFILE} \
                        --chuid ${USER} --background --make-pidfile \
                        --exec ${DAEMON} -- ${DAEMON_OPTS}

                echo "${NAME}."
                ;;

        stop)
                echo -n "Stopping ${DESC}: "

                start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \
                        --oknodo

                echo "${NAME}."
                ;;

        restart|force-reload)
                echo -n "Restarting ${DESC}: "

                start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \
                        --oknodo

                sleep 1

                start-stop-daemon --start --quiet --pidfile ${PIDFILE} \
                        --chuid ${USER} --background --make-pidfile \
                        --exec ${DAEMON} -- ${DAEMON_OPTS}

                echo "${NAME}."

                echo "${NAME}."
                ;;

        *)
                N=/etc/init.d/${NAME}
                echo "Usage: ${NAME} {start|stop|restart|force-reload}" >&2
               exit 1
               ;;
esac

exit 0

Когда я запускаю скрипт, файл pid создан, но сервис не работает. Также, если я пытаюсь остановить это, я вижу сообщение:

Stopping openerp-server: start-stop-daemon: warning: failed to kill 1204: No such process openerp-server.

Я не понимаю, что я делаю не так. И мой старый друг Google не может помочь мне. это не поможет

Может быть, кто-нибудь решил эту проблему?

2 ответа

Вы пытаетесь запустить openerp как root, поэтому он не работает, измените:

# Specify the user name (Default: openerp).
USER=root

от

# Specify the user name (Default: openerp).
USER=YOUR_USER_THAT_RUNS_ODOO

Я столкнулся с той же проблемой. Я исправил это, добавив скрипт odoo-server init.d в меню запуска системы.
Создайте ссылку с помощью следующей команды:

$ sudo update-rc.d odoo-server по умолчанию
Другие вопросы по тегам