#!/bin/sh

###########################################################################
#
# /usr/local/etc/check_rpc.sh
# spd
# Wed Sep  1 10:36:46 CEST 2004
#
# Test/reset NIS/NFS conectivity on startup

# cat >> rc.local << EOF
# while /usr/local/etc/check_rpc.sh
# do
# 	sleep 300
# done
# EOF

###########################################################################

on_exit()
{
        rm -f /var/lock/check_rpc.lck
}


if [ -f /var/lock/check_rpc.lck ]
then
        echo "Sorry, previous check_rpc.sh didn't finish" >&2
        exit 1
else
        touch /var/lock/check_rpc.lck
        trap "on_exit" INT 0 1 2 3 13 15
fi

###########################################################################

status=1

if ypcat passwd >/dev/null 2>&1
then
	awk '/nfs/{print $1,$2}' /etc/fstab | while read server fs
	do
		mfs=`df -k -P $fs | awk '{print $1}' | tail -1`
		if [ "_$mfs" != "_$server" ]
		then
			mount $fs
			status=0
		fi
	done
else
	/etc/init.d/ypbind stop
	/etc/init.d/ypbind start
	status=0
fi

exit $status

