#!/bin/bash
while true; do
####### USER SETTINGS #######
HOME_NW="WISHIE"
SERVER_IP=192.168.0.1
SHARES="Applications Music Video Stuff DVDImages"
LOCKDIR=/tmp/netcheck.lock
MIN_SIGNAL_QUALITY="40"
INTERVAL=30
####### DO NOT EDIT BELOW THIS LINE #######
SIGNAL=`iwconfig 2>/dev/null |grep Link |awk {'print $2'}`
QUAL=${SIGNAL#*=} QUALITY=${QUAL%/*}
NETWORK=`iwgetid |awk {'print $2'} |sed -ne 's/.*\"\(.*\)\".*/\1/p'`
if [[ $1 = "network" ]];then NETWORK=""; fi
if [[ $1 = "signal" ]];then QUALITY="10"; fi
if [[ "$NETWORK" = "$HOME_NW" ]]; then
echo "Connected to $NETWORK network with $QUALITY% signal"
if [[ $QUALITY -gt $MIN_SIGNAL_QUALITY ]]; then
if mkdir "$LOCKDIR" 2>/dev/null; then
echo -n "Mounting shares: "
for i in $SHARES; do
mount -t nfs $SERVER_IP:/mnt/$i/ /mnt/$i
echo -n "$i, "
done
echo ""
echo "Done."
fi
else
if [[ -d $LOCKDIR ]]; then
echo "Signal quality below $MIN_SIGNAL_QUALITY%! Unmounting drives..."
for i in $SHARES; do
umount $SERVER_IP:/mnt/$i/
done
rm -r $LOCKDIR
fi
fi
else
echo "We are not on the $HOME_NW network."
if [[ -d $LOCKDIR ]]; then
echo "Drives are mounted. Unmount them!"
for i in $SHARES; do
umount $SERVER_IP:/mnt/$i/
done
rm -r $LOCKDIR
fi
fi
sleep $INTERVAL;
done