matze9999
Goto Top

Prozessüberwachung auf Firewall

Liebe Mitstreiter,

ich würde mich freuen, wenn jemand mit mehr Ahnung mein kleines Script prüfen könnte.
Also folgende Sache, der OpenVPN - Prozess läuft auf einer Firewall (FreeBSD), wenn dieser ausfällt, oder abstürzt, soll per CronJob der Prozess samt Parameter neu gestartet werden:

#Hierzu definiere ich zunächst eine temp. Variable
set pStatus=0

#mit ps und grep frage ich ab, ob der Dienst läuft und zähle (grep wird ausgeblendet, Schalter -v), wenn 0 kommt läuft der Prozess nicht, bei 1 läuft er
set pStatus=`sudo ps ax | grep -v grep | grep openvpn -c`

#nun die Pruefschleife
while $pStatus=0
do
/usr/local/sbin/openvpn --config /var/etc/openvpn/client1.conf
done


Das ganze speicherte ich in /usr/sbin/ unter dem Namen "pruefeStatus.sh" und habe ein chmod +x auf dieses File ausgeführt.
Aber: es geht nicht.

Da ich hier noch experimentell tätig bin, freue ich mich, wenn mir bitte jemand helfen kann.

Danke euch
Mat

Content-ID: 341102

Url: https://administrator.de/contentid/341102

Ausgedruckt am: 22.11.2024 um 08:11 Uhr

maretz
maretz 20.06.2017 um 16:28:27 Uhr
Goto Top
Wieso sollte es auch gehen? Dein set pStatus='sudo....' gibt ja in jedem Fall was zurück. Entweder eine Zeile oder eben nix (wobei nix eben auch was ist - nämlich was leeres). Du hast also nicht $pStatus=0 zu dem Zeitpunkt.
fredmy
fredmy 20.06.2017 aktualisiert um 17:28:18 Uhr
Goto Top
Hallo,

willst nicht mit

writepid /run/openvpn/my-tunnel-name.pid

starten und dann mit

#!/bin/bash
if [ -f /run/openvpn/my-tunnel-name.pid ]; then  
    echo "The File has running state."  
else  
    echo "no pid - restart now."  
fi  
arbeiten ?

So kann man mehrere Prozesse im Griff haben ( RW, n-2-n usw.)
Meinetwegen per cron aufrufen im Minutentakt oder wann auch immer.

Wobei - warum sollte openVPN sterben ? Tut der (openVPN)Client nur, wenn die I-Net Verbindung weg ist, so zumindest meine Erfahrungen
Wir haben so was all die Jahre nicht gebraucht face-smile
Wohl aber wiederholtes (neu)Setzen der Route beim Routing durch mehrere Tunnel hintereinander aus einigen Zwischenpunkten.

Fred
Matze9999
Matze9999 21.06.2017 um 09:59:00 Uhr
Goto Top
Guten Morgen, das kann ich so nicht bestätigen. Der genannte Code gibt, mir entweder eine 1 oder eine 0.
Null ist default, weil oben definiert und deklariert.

Habe ich dich nur falsch verstanden?
Danke