What do you think of my network restart script? :)

LGTM?

  • Looks Good To Me!

  • That's exactly the code that should run on a 6-year-old Lenovo laptop proping the wall...

  • (Bon Jovi mode) Oooooh, u'r halfway there, ooooh but the code's nightmare!


Results are only viewable after voting.

AgentMC

Cadet
Joined
Mar 13, 2020
Messages
9
Hi Community!

I'm a happy owner of a ridiculous Freenas installation running on 6-year-old Lenovo laptop through USB network adapter and with new drives that are connected through SATA II & SATA III . Yeah, way to go, I know :D Works good enough anyway.

For some time I had issues with my router (until provider replaced it), in particular, it was rebooting from time to time. On Freenas side this resulted in total net loss. So I had to kneel down by the wall, open the old pal praying 6-year old Lenovo plastic doesn't fall apart into atoms in my hands, and either manually reboot or to try fix the net.

It was troublesome enough so I wrote a couple of scripts that are intended to be used in this situation. I would like your "code review" on them from the FreeNas specifics standpoint. For instance, I spent days torturing jail command until I read your puthon scripts and understood I needto actually call iocage :)

Script #1 - this one is called every 5 minutes by Cron:
Code:
ping -c 1 google.ie
if [ $? != 0 ]
then
        ./fixnet.sh
else
        if [ "$1" = "-v" ]
        then
                echo "Test successful."
        fi
fi


Script #2 - this is the "fixnet.sh". I made it a separate script to be able to call it manually when/if needed. "ue0" is the USB Ethernet.
Code:
service netif onerestart
ifconfig ue0 up
service routing restart
service dhclient forcerestart ue0
service smbd restart
service nmbd restart
ping -c 1 google.com
jls | grep -v JID | awk '{system("iocage restart "  $2)}'

Ping google is added so that when executing manually, I can see the proof with my own eyes.
Now this box successfully survives temporary power loss, router reboots and updates etc.
What do you think of the scripts above?
 
Top