#!/bin/bash
#
# ntpupdate.sh
#
# Startet den Zeitserver neu wenn sich die IP geaendert hat,
# da die Synchronisation bei dem Wechsel der IP nicht mehr
# funktioniert ( ntpd: sendo: IP-Adresse Invalid Argument ).
#
# Copyright (C) 2004 Edy Corak < edy at loenshotel dot de >
#
# Lizenz: GPL
#
# crontab -e
# 01 * * * * /root/.scripts/ntpupdate.sh >> /var/log/ntpupdate.log 2>&1
#

TIMENOW=`date`
CONFIG=.systemip
# Anpassen falls noetig
#
INTERFACE=ppp0
SYSTEMIP=$(IFS="$IFS/";
    /sbin/ip addr show $INTERFACE |
    while read x y z; do [ $x == inet ] && echo $y; done)

if [ -r $CONFIG ]; then
    . $CONFIG
    else
	echo "Erstelle $CONFIG... mit IP=$SYSTEMIP am $TIMENOW"
	echo IP=$SYSTEMIP > $CONFIG
    fi

if [ -r $CONFIG ]; then
    . $CONFIG
    if [ $SYSTEMIP == $IP ]; then
	echo "IP Adresse OK. Keine Aenderung."
    else
	echo -e "Alte IP=$IP\n$CONFIG wurde aktualisiert mit IP=$SYSTEMIP am $TIMENOW\n"
	echo IP=$SYSTEMIP > $CONFIG
	echo -e "Alte IP=$IP\n\n$CONFIG wurde aktualisiert mit IP=$SYSTEMIP am $TIMENOW" | /bin/mail -s "$CONFIG wurde aktualisiert mit IP=$SYSTEMIP am $TIMENOW" root
	# NTPD neustarten ( Red Hat, Fedora )
	# fuer andere Systeme, bitte anpassen.
	#
	/sbin/service ntpd restart
	echo
    fi
fi

exit 0
