Hallo Leute,
Ich bin am verzweifeln. Habe jetzt Tage damit verbracht einen internen watchdog zum laufen zu bringen und natürlich auch viel Zeit mit suchen in Foren verbracht aber bin nicht zum Ziel gekommen. Dabei nahm ich die Vorlage von meigrafd aus Prozess/Anwendung überwachen.
Ich frage also ab ob der Prozess noch läuft, wenn nicht starte ich ihn neu und schreibe eine Notiz dazu in eine log-Datei. Läuft so weit auch alles supi(!), aber eben nur wenn ich das aus der Konsole heraus starte/aufrufe. Wenn ich es aber aus sudo crontab heraus starten will, dann wird nur der Prozess neu gestartet (also schonmal ein Teilerfolg und damit Ausschluss so einiger möglicher Fehler).
Ich hab schon alles versucht, sudo chmod 777, habe versucht es aus der normalen crontab zu starten oder auch aus der /etc/init.d crontab, keine Chance. Habe ein C++ Skript geschrieben, dass das andere Skript einfach nur aufruft, nix... Ich habe auch versucht den Pfad zu ändern, nix... Die log-Datei liegt auch im Ordner in dem das Skript liegt etc etc etc...
Die Gesamtanwendung ist recht komplex und teilt sich auf mehrere Dateien auf. Hier aber mal das worums geht:
#!/bin/bash
PID=$(pgrep -x darkice)
if [[ ! -z $PID ]] ; then
sudo echo "[$(date +"%Y-%m-%d %H:%M")] Kein Neustart erforderlich" >> watchdog.log
else
sudo echo "[$(date +"%Y-%m-%d %H:%M")] Darkice wurde neu gestartet" >> watchdog.log
sudo darkice
fi
exit 0
Alles anzeigen
Wie gesagt, wenn ich aus der Konsole heraus das Programm starte funktioniert alles super. Aus sudo crontab heraus aber nicht. Andere, ähnliche Anwendungen laufen aus sudo crontab heraus aber wunderbar.
Kann mir jemand weiterhelfen?
LG, Stefan