PfSense bash-script per Cronjob ausführen
Hallo
Aus irgend einen unerklärlichen Grund, verliert die pfSense gelegentlich die Internetverbindung.
Da hilft nur ein manueller reboot.
Um das Problem zu beheben, habe ich im Netz ein Script gefunden, dass bei nicht erreichen von "google.com die pfSense automatisch neu startet.
Das Paket cron habe ich installiert, sowie "pkg install bash"
Dazu habe ich ein paar Fragen:
- Kann die pfSense bash-scripte überhaupt ausführen? --> ok geht, hatte beim Script #!/bin/bash anstatt #!/bin/sh
- Wie kann ich prüfen ob das Script ausgeführt worden ist?
- Ich würde gern sehen wenn ein Neustart der pfSense mittels Script statt gefunden hat.
Mein System:
System_1
System_2
Hier mal das Script zur Info:
Aus irgend einen unerklärlichen Grund, verliert die pfSense gelegentlich die Internetverbindung.
Da hilft nur ein manueller reboot.
Um das Problem zu beheben, habe ich im Netz ein Script gefunden, dass bei nicht erreichen von "google.com die pfSense automatisch neu startet.
Das Paket cron habe ich installiert, sowie "pkg install bash"
Dazu habe ich ein paar Fragen:
- Kann die pfSense bash-scripte überhaupt ausführen? --> ok geht, hatte beim Script #!/bin/bash anstatt #!/bin/sh
- Wie kann ich prüfen ob das Script ausgeführt worden ist?
- Ich würde gern sehen wenn ein Neustart der pfSense mittels Script statt gefunden hat.
Mein System:
System_1
System_2
Hier mal das Script zur Info:
#!/bin/bash
#
# put -xv after bash to debug
#
HOSTS="google.com"
COUNT=10
#debug
echo "HOSTS: " $HOSTS
echo "COUNT: " $COUNT
######
for myHost in $HOSTS
do
counting=$(ping -c $COUNT $myHost | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')
#debug
echo "counting: " $counting
######
if [ $counting > 2 ]; then
echo "Ping OK"
else
# network down
# Save RRD data
/etc/rc.backup_rrd.sh
#Reboot
echo "Reboot!"
reboot
fi
done
Please also mark the comments that contributed to the solution of the article
Content-Key: 392460
Url: https://administrator.de/contentid/392460
Printed on: April 25, 2024 at 12:04 o'clock
4 Comments
Latest comment
pfSense default is :
Bash shell is not part of pfSense (OpenBSD).
https://www.freebsd.org/cgi/man.cgi?logger(1)
Regards j.
/bin/tcsh
Bash shell is not part of pfSense (OpenBSD).
- Wie kann ich prüfen ob das Script ausgeführt worden ist?
In your syslog /var/log/...., or write to a status file.- Ich würde gern sehen wenn ein Neustart der pfSense mittels Script statt gefunden hat.
write a status file or to the pfSense logs.logger "message"
https://www.freebsd.org/cgi/man.cgi?logger(1)
Da hilft nur ein manueller reboot.
You better should resolve this issue!!.Regards j.
Wäre es nicht viel sinnvoller den Grund des Verbindungsabbruchs zu klären..?!!
Welche Infrastruktur nutzt du denn für die WAN / Internet Anbindung ?
Medizinisch gesehen ist es so als ob du die Symptome behandelst aber nicht die Ursache. Wie auch in der Medizin ist das in der IT grundsätzlich die falsche Herangehensweise...aber egal.
Geht natürlich auch mit dem Script.
Nach einem Reboot müsstest du in den Log Dateien sehen können wann das Script ausgeführt wurde.
Das hängt aber ganz davon ab WIE die pfSense installiert wurde. Mit einem naobsd Image befindet sich das gesamte Filesystem auf einer RAM Disk um das Flash zu schonen. Dort sind nach einem Reboot logischerweise dann alle Dateien verloren.
Bei einer SSD oder m.SATA Installation sieht das anders aus. Es sei denn die pfSense initialisiert die Log Dateien neu nach einem Reboot dann sind die auch verloren.
Es macht für dich also in jedem Falle Sinn einen Syslog Server aufzusetzen in den die pfSense ihre Log Messages exportiert. Damit ist das dann alles nachvollziehbar auch nach einem Reboot egal welcher Installation.
Netzwerk Management Server mit Raspberry Pi
Als Winblows Knecht kannst du sowas wie das hier nutzen als Syslog:
https://www.kiwisyslog.com/free-tools/kiwi-free-syslog-server
https://mikrotik.com/archive --> Syslog Daemon
https://www.paessler.com/free_syslog_server?utm_source=google&utm_me ...
The last statement above is perfectly right: You better should resolve this issue!! Its definitely the right way to go ! NOT trying to fix the symtoms...
Welche Infrastruktur nutzt du denn für die WAN / Internet Anbindung ?
Medizinisch gesehen ist es so als ob du die Symptome behandelst aber nicht die Ursache. Wie auch in der Medizin ist das in der IT grundsätzlich die falsche Herangehensweise...aber egal.
Geht natürlich auch mit dem Script.
Nach einem Reboot müsstest du in den Log Dateien sehen können wann das Script ausgeführt wurde.
Das hängt aber ganz davon ab WIE die pfSense installiert wurde. Mit einem naobsd Image befindet sich das gesamte Filesystem auf einer RAM Disk um das Flash zu schonen. Dort sind nach einem Reboot logischerweise dann alle Dateien verloren.
Bei einer SSD oder m.SATA Installation sieht das anders aus. Es sei denn die pfSense initialisiert die Log Dateien neu nach einem Reboot dann sind die auch verloren.
Es macht für dich also in jedem Falle Sinn einen Syslog Server aufzusetzen in den die pfSense ihre Log Messages exportiert. Damit ist das dann alles nachvollziehbar auch nach einem Reboot egal welcher Installation.
Netzwerk Management Server mit Raspberry Pi
Als Winblows Knecht kannst du sowas wie das hier nutzen als Syslog:
https://www.kiwisyslog.com/free-tools/kiwi-free-syslog-server
https://mikrotik.com/archive --> Syslog Daemon
https://www.paessler.com/free_syslog_server?utm_source=google&utm_me ...
The last statement above is perfectly right: You better should resolve this issue!! Its definitely the right way to go ! NOT trying to fix the symtoms...