1#!/usr/local/bin/bash 2### BEGIN INIT INFO 3# Provides: odoo.py 4# Required-Start: $remote_fs $syslog 5# Required-Stop: $remote_fs $syslog 6# Default-Start: 2 3 4 5 7# Default-Stop: 0 1 6 8# Short-Description: Start odoo daemon at boot time 9# Description: Enable service provided by daemon. 10# X-Interactive: true 11### END INIT INFO 12## more info: http://wiki.debian.org/LSBInitScripts 13 14. /lib/lsb/init-functions 15 16PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin 17DAEMON=/home/pi/odoo/odoo-bin 18NAME=odoo 19DESC=odoo 20CONFIG=/home/pi/odoo/addons/point_of_sale/tools/posbox/configuration/odoo.conf 21LOGFILE=/var/log/odoo/odoo-server.log 22PIDFILE=/var/run/${NAME}.pid 23MODULES=$(ls /home/pi/odoo/addons/ -m -w0 | tr -d ' ') 24USER=pi 25 26test -x $DAEMON || exit 0 27set -e 28 29function _start() { 30 # Wait for time to be synced or AP to start or max 30 seconds 31 cnt=30 32 while ! test -a /run/systemd/timesync/synchronized && ! ip route | grep 10.11.12.1 && ((cnt--)); do 33 sleep 1 34 done 35 start-stop-daemon --start --quiet --pidfile $PIDFILE --chuid $USER:$USER --background --make-pidfile --exec $DAEMON -- --config $CONFIG --logfile $LOGFILE --load=$MODULES 36} 37 38function _stop() { 39 start-stop-daemon --stop --quiet --pidfile $PIDFILE --oknodo --retry 3 40 rm -f $PIDFILE 41} 42 43function _status() { 44 start-stop-daemon --status --quiet --pidfile $PIDFILE 45 return $? 46} 47 48 49case "$1" in 50 start) 51 echo -n "Starting $DESC: " 52 _start 53 echo "ok" 54 ;; 55 stop) 56 echo -n "Stopping $DESC: " 57 _stop 58 echo "ok" 59 ;; 60 restart|force-reload) 61 echo -n "Restarting $DESC: " 62 _stop 63 sleep 1 64 _start 65 echo "ok" 66 ;; 67 status) 68 echo -n "Status of $DESC: " 69 _status && echo "running" || echo "stopped" 70 ;; 71 *) 72 N=/etc/init.d/$NAME 73 echo "Usage: $N {start|stop|restart|force-reload|status}" >&2 74 exit 1 75 ;; 76esac 77 78exit 0 79