gpt4 book ai didi

openerp - 将 odoo 作为服务运行

转载 作者:行者123 更新时间:2023-12-04 12:17:06 26 4
gpt4 key购买 nike

我已经在 ubuntu 16.04 上安装了 odoo 10。现在我需要为 odoo 创建一个服务。我尝试了以下步骤,但出现错误:

Starting odoo-server: start-stop-daemon: --start needs --exec or --startas
Try 'start-stop-daemon --help' for more information.
/etc/init.d/odoo-server: 39: /etc/init.d/odoo-server: --chuid: not found
odoo-server.

odoo服务器
#!/bin/sh
### BEGIN INIT INFO
# Provides: odoo-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: Odoo ERP
# Description: Odoo is a complete ERP business solution.
### END INIT INFO
PATH=/bin:/sbin:/usr/bin
# Change the Odoo source files location according your needs.
DAEMON=/opt/odoo/odoo-10.0/odoo-bin
# Use the name convention of your choice
NAME=odoo-server
DESC=odoo-server
# Specify the user name (Default: odoo).
USER=odoo
# Specify an alternate config file (Default: /etc/odoo-server.conf).
CONFIGFILE="/etc/odoo.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
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}."
;;
*)
N=/etc/init.d/${NAME}
echo "Usage: ${NAME} {start|stop|restart|force-reload}"
exit 1
;;
esac
exit 0

我执行了这个命令:
chmod 755 /etc/init.d/odoo-server

chown ubuntu: /etc/init.d/openerp-server

用户是: odoo .

配置文件: /etc/odoo.conf
Odoo 像这样运行:
sudo su - odoo -s /bin/bash ~/odoo-10.0/odoo-bin .

但我无法作为服务启动。

最佳答案

我认为您的文件中缺少一件事。

请查看您丢失的部分,然后在您的文件中粘贴 init 脚本,如下所示。

#!/bin/sh
### BEGIN INIT INFO
# Provides: odoo-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: Odoo ERP
# Description: Odoo is a complete ERP business solution.
### END INIT INFO
PATH=/bin:/sbin:/usr/bin
# Change the Odoo source files location according your needs.
DAEMON=/opt/odoo/odoo-10.0/odoo-bin
# Use the name convention of your choice
NAME=odoo-server
DESC=odoo-server
# Specify the user name (Default: odoo).
USER=odoo
# Specify an alternate config file (Default: /etc/odoo-server.conf).
CONFIGFILE="/etc/odoo.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
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}."
;;
*)
N=/etc/init.d/${NAME}
echo "Usage: ${NAME} {start|stop|restart|force-reload}"
exit 1
;;

esac
exit 0

我认为你遗漏了一些重要的部分 \当一个命令位于多于一行时,这是用于 unix 命令。

在两行内您丢失了 \${PIDFILE} , 这些行如下。
1) "Inside Start case" : 
start-stop-daemon --start --quiet --pidfile ${PIDFILE}
--chuid ${USER} --background --make-pidfile \
--exec ${DAEMON} -- ${DAEMON_OPTS}

2) "Inside Restart Case" :
start-stop-daemon --start --quiet --pidfile ${PIDFILE}
--chuid ${USER} --background --make-pidfile \
--exec ${DAEMON} -- ${DAEMON_OPTS}

这就是为什么您会遇到以下错误:
Starting odoo-server: start-stop-daemon: --start needs --exec or --startas
Try 'start-stop-daemon --help' for more information.
/etc/init.d/odoo-server: 39: /etc/init.d/odoo-server: --chuid: not found
odoo-server.

我希望你得到这些东西并且可以成功地使用服务运行你的 Odoo。

关于openerp - 将 odoo 作为服务运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45185230/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com