Odoo Help

Welcome!

This community is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

0

Odoo (OpenERP) start-stop-daemon script

By
Yuri Shtrikker
on 7/16/15, 5:01 AM 2,973 views

I installed odoo and try manual start openerp-server. All ok. My next step it's try to add odoo to auto start. For this I use this script:

!/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-live

DESC="OpenERP server process for live bases"


LFILE=/var/log/openerp/daemon.log


# Specify the user name (Default: openerp).

USER=odoo


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

CONFIGFILE="/etc/odoo-live.conf"


# pidfile

PIDFILE=/var/run/$NAME.pid

touch $PIDFILE

chown odoo:root $PIDFILE

chmod 755 $PIDFILE


# 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

When I start script, pid file created but service don't work. Also if I try to stop it, I see msg:

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

I don't understand what I do wrong. And my old friend google can't help me. this don't help

Maybe anybody have solve for this problem?


=====================================update====================================


Really David Bertha is right. But, after changing user to other and change permission to all needed files, i have a new problem. My script can't create a pid file.

On google i saw info about init.d scripts:

when script start on boot (from update-rc.d), he start by root user. And we can add to script something like this:

if [ ! -d /var/run/openerp ]; then

mkdir /var/run/openerp

chown -R odoo:odoo /var/run/openerp

chmod -R 755 /var/run/openerp

fi

BUT it's don't work. After server boot I check /var/run and don't find openerp folder.

=====================================update====================================

Also I try create file, but after reboot i don't saw it too.

If I use something like:

sudo su root

sh /etc/init.d/odoo-live

all ok, pid creating, permissions changing and service work. but if I reboot the server nothing happening.

Also I update my script upper



Really David Bertha is right. But, after changing user to other and change permission to all needed files, i have a new problem. My script can't create a pid file. On google i saw info about init.d scripts: when script start on boot (from update-rc.d), he start by root user. And we can add to script something like this: if [ ! -d /var/run/openerp ]; then mkdir /var/run/openerp chown -R odoo:odoo /var/run/openerp chmod -R 755 /var/run/openerp fi BUT it's don't work. After server boot I check /var/run and don't find openerp folder.

Yuri Shtrikker
on 7/16/15, 10:31 AM
2
David Bertha
On 7/16/15, 5:28 AM

I think odoo refuse to start with user root. You should check the logfile

0
M Grmn
On 2/7/16, 6:02 AM

This piece will update it auto for you. (I am using it for odoo v8) Make sure you delete the old one first.

sudo rm -f /etc/init.d/you-odoo-script. Then copy and paste this in sh chmod +x and run it.


#!/bin/bash

sudo sh -c “wget \”http://www.theopensourcerer.com/wp-content/uploads/2014/09/odoo-server\” -O /etc/init.d/odoo-server” sudo chmod +x /etc/init.d/odoo-server

sudo chmod 755 /etc/init.d/odoo-server

sudo chown root: /etc/init.d/odoo-server

sudo update-rc.d odoo-server defaults

sudo /etc/init.d/odoo-server start

# END now type ps aux | grep odoo


Enjoy :)

ps: Not sure if it is just a copy and paste problem but you do notice that your script starts with !/bin/sh and not  #!/bin/sh

0

Serpent Consulting Services Pvt. Ltd.

--Serpent Consulting Services Pvt. Ltd.--
4341
| 6 6 8
Gandhinagar, India
--Serpent Consulting Services Pvt. Ltd.--

Serpent Consulting Services Pvt. Ltd. Your Odoo/OpenERP Solution, just an email away!

Serpent Consulting Services Pvt. Ltd.
On 7/16/15, 11:45 AM

Create a /var/run/openerp.pid file, set Read and write permission!

Your Answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

2 follower(s)

Stats

Asked: 7/16/15, 5:01 AM
Seen: 2973 times
Last updated: 2/7/16, 6:02 AM