Ich habe ein Skript, das ich von einem Cron-Job aufrufen. Das Skript istService Neustart erfolgt nicht bei Verwendung von Cron
#!/bin/bash
python /home/ubuntu/gateway-haproxy-config.py | tee /etc/haproxy/haproxy.cfg.new
DIFF=$(diff /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.new)
if [ "$DIFF" != "" ]
then
mv /etc/haproxy/haproxy.cfg.new /etc/haproxy/haproxy.cfg
service haproxy restart
else
echo "unmodified"
fi
Das Skript genau wie erwartet funktioniert, wenn ich es von einem Shell-Prompt ausführen.
ich es als cron-Job installiert, wie (für root sudo crontab -e
) folgt:
* * * * * cd /home/ubuntu && ./gateway-config-cron
Wenn die cron läuft, wird das Skript erfolgreich eine neue Konfigurationsdatei schreibt, tut das Diff und sogar ersetzt die alte mit dem Neuen, wenn das Diff nicht leer ist.
Die service haproxy restart
passiert nie, wenn als Cron-Job ausgeführt wird. Ich muss den Dienst manuell neu starten.