Files

44 lines
896 B
Bash

#!/bin/bash
# /usr/local/bin/check_openvpn.sh
# Set the initial status
status=""
# Function to restart OpenVPN service
restart_openvpn() {
systemctl restart openvpn_exporter
}
# Check if OpenVPN service is active
if systemctl is-active --quiet openvpn; then
status="ACTIVE"
else
status="NON-ACTIVE"
fi
# Display the initial status
echo "Service is $status"
# Continuously monitor the status and restart if it changes
while true; do
# Check if OpenVPN service is active
if systemctl is-active --quiet openvpn; then
new_status="ACTIVE"
else
new_status="NON-ACTIVE"
fi
# Check if the status has changed
if [ "$new_status" != "$status" ]; then
status="$new_status"
echo "Service is now $status"
# Restart OpenVPN service
restart_openvpn
fi
# Sleep for a while before checking again
sleep 5
done