2013-03-18 5 views
9

Ich habe folgende Start-Stopp-Skript:"start-stop-daemon: unable stat"

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" 
} 

Wenn ich versuche, das Skript i folgende Ausgabe auszuführen:

$ ./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 

Was habe ich am $APP_DIR/$APP_BIN Teil falsch gemacht?

Antwort

9

Sie übergeben den Befehlsnamen und die Befehlsargumente als auszuführenden Befehl. start-stop-daemon sucht nach einem Befehl namens /usr/bin/tail -250f /var/log/apache2/error.log, der natürlich nicht existiert. Stattdessen wollen Sie wie etwas nennen (unwichtige Teile weggelassen):

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 

(beachten Sie die - zwischen dem Befehl und seine Argumente)

+1

, wenn ich dies tun, tritt ein Fehler Start-Stopp -daemon: unerkannte Option '--- 250f' –

+1

Haben Sie den Abstand zwischen '--' und' $ APP_ARGS' vermisst? Und bitte starten Sie eine neue Frage für Ihr Problem. – scai