Hallo,
Da auf der Fritzbox kein Timeserver läuft habe ich mir ein Script gebaut das auf einem SuSE Rechner die Uhrzeit mit der FritzBox abgleicht (falls diese nicht erreichbar ist dann erfolgt der Abgleich über einen Timeserver im Internet oder lokal)
/etc/init.d/setdatetime
/usr/sbin/readdatefromserver
Da auf der Fritzbox kein Timeserver läuft habe ich mir ein Script gebaut das auf einem SuSE Rechner die Uhrzeit mit der FritzBox abgleicht (falls diese nicht erreichbar ist dann erfolgt der Abgleich über einen Timeserver im Internet oder lokal)
/etc/init.d/setdatetime
Code:
### BEGIN INIT INFO
# Provides: setfritzboxtime
# Required-Start: $network
# X-UnitedLinux-Should-Start:
# Required-Stop:
# Default-Start: 3 5
# Default-Stop: 3 5
# Description: Abgleich der Uhrzeit mit der FritzBox
### END INIT INFO
#######################################################
fritzboxip=192.168.100.1
inetserver=ntp1.ptb.de
#######################################################
timealreadyset=0
. /etc/rc.status
rc_reset
case "$1" in
start)
echo -n "Hole Uhrzeit von der Fritzbox od. Internet"
if [ "$fritzboxip" != "" ]
then
NEWTIME=`/usr/sbin/readdatefromserver $fritzboxip | grep 'CES
T' | grep -v 'TZ='` >> /dev/null 2>&1
if [ $? -eq 0 ]
then
/bin/date --set="$NEWTIME" >> /dev/null 2>&1
rc_status -v
echo -n "Korrigiere Rechneruhr"
hwclock --systohc
rc_status -v
timealreadyset=1;
else
rc_status -s
fi
fi
if [ $timealreadyset -eq 0 ]
then
if [ "$inetserver" != "" ]
then
echo ""
echo -n "Hole Uhrzeit vom Server "
echo -n $inetserver
ntpdate $inetserver >> /var/log/messages
if [ $? -eq 0 ]
then
rc_status -v
echo -n "Korrigiere Rechneruhr"
hwclock --systohc
rc_status -v
else
rc_status -s
fi
else
rc_status -s
fi
fi
;;
stop)
;;
*)
echo "Usage $0 {start}"
exit 1
;;
esac
rc_exit
/usr/sbin/readdatefromserver
Code:
#!/usr/bin/expect
spawn telnet $argv 23
expect "#"
send "date\n"
expect "#"
send "exit\n"
Zuletzt bearbeitet: