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-Key: 341102

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

Printed on: April 20, 2024 at 02:04 o'clock

Member: maretz
maretz Jun 20, 2017 at 14:28:27 (UTC)
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.
Member: fredmy
fredmy Jun 20, 2017 updated at 15:28:18 (UTC)
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
Member: Matze9999
Matze9999 Jun 21, 2017 at 07:59:00 (UTC)
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