#!/bin/sh # Script to check your internet connection and if it's not OK # then restart your network services. Make sure that you've the appropiates # service names in the $services variable # # Autor: Eduard Toloza # Define variables services='systemd-networkd systemd-resolved randomvpn' # iwd # bond_active=$(ip -o link show type bond | awk -F': ' '{print $2}') restart_network() { #Check if ping command is available if command -v ping > /dev/null; then # Check internet connection and if not OK then restart all networking services echo "Testing your connection..." if ! ping -q -c 1 -W 1 9.9.9.9 > /dev/null; then echo "Your connection is not working, restarting your network services: $services" sudo systemctl restart $services if [ $? -eq 0 ]; then echo "Services restarted sucessfully, leaving." else echo "An error has occurred, make sure that service names are correct." fi else echo "Your connection is OK" fi else echo "ping command is not available, aborting." fi } # Check if the f options was passed to force restart of services if [ "$1" == "f" ]; then sudo systemctl restart $services exit fi restart_network