Erweitern Sie Variablen im Upstart-Skript


7

Ich habe mehrere Upstart-Skripte geschrieben, um sie transmission-daemonfür mehrere Benutzer zu starten . Das Skript lautet wie folgt:

start on (local-filesystems and net-device-up IFACE=eth0 and runlevel [235])
stop on runlevel [016]

kill timeout 50

respawn

env USER=user
env PIDFILE=/var/run/transmission-user.pid

script
    DAEMON=$(which transmission-daemon) || exit 0
    CONFIGDIR=/home/$USER/.config/transmission-daemon

    exec start-stop-daemon --start --quiet --chuid $USER --pidfile $PIDFILE --make-pidfile --exec $DAEMON -- -f --config-dir $CONFIGDIR --logfile $CONFIGDIR/daemon.log
end script

post-stop exec rm -f $PIDFILE

Ich würde dies konvertieren:

env USER=user
env PIDFILE=/var/run/transmission-user.pid

Dazu:

env USER=user
env PIDFILE=/var/run/transmission-$USER.pid

Aber Emporkömmling erlaubt nicht. Ich kann es tun, wenn ich diese Zeilen in den Skriptabschnitt verschiebe:

script
    USER=user
    PIDFILE=/var/run/transmission-$USER.pid
    ...
end script

In diesem Fall ist die PIDFILE im Post-Stop-Bereich leer.
Gibt es eine Möglichkeit, dies zu tun?

Antworten:


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.