Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"start-stop-daemon: unable to stat"

i have the following start-stop-script:

NAME="examplestartstop"
PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/node/bin"
LOGFILE="/var/log/$NAME/start-stop-daemon.log"
APP_DIR="/usr/bin"
APP_BIN="tail -250f /var/log/apache2/error.log"
USER="minecraft"
GROUP="minecraft"

# Include functions
set -e
. /lib/lsb/init-functions

start() {
  echo "Starting '$NAME'... "
  start-stop-daemon --start --chuid "$USER:$GROUP" --background --make-pidfile --pidfile /var/run/$NAME.pid --exec "$APP_DIR/$APP_BIN" $LOGFILE || true
  echo "done"
}

When i try to run the script i get the following output:

$ ./test start
Starting 'examplestartstop'...
start-stop-daemon: unable to stat /usr/bin/tail -250f /var/log/apache2/error.log (No such file or directory)
done

What did i done wrong on the $APP_DIR/$APP_BIN part?

like image 394
Florence V. Lee Avatar asked Mar 18 '13 15:03

Florence V. Lee


1 Answers

You are passing the command name and the command arguments as the command to execute. start-stop-daemon looks for a command named /usr/bin/tail -250f /var/log/apache2/error.log which does not exist of course. Instead you want to call something like (unimportant parts left out):

APP_DIR="/usr/bin"
APP_BIN="tail"
APP_ARGS="-250f /var/log/apache2/error.log"
start-stop-daemon --start --exec "$APP_DIR/$APP_BIN" -- $APP_ARGS

(note the -- between the command and its arguments)

like image 75
scai Avatar answered Sep 29 '22 12:09

scai