Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
4 Trả lời
22709 Lượt xem

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



Ảnh đại diện
Huỷ bỏ
Tác giả

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.

Câu trả lời hay nhất

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

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 8 22
2445
1
thg 8 21
12252
2
thg 3 15
5447
1
thg 3 15
8860
0
thg 9 21
5286