#!/bin/bash start_hms=03:00:00 logfile=/dev/null # logfile=/mnt/logs/settime.log # # convert time from HH:MM:SS to seconds # hms2sec() { hms_hh=`echo $1 | cut -f1 -d:` hms_mm=`echo $1 | cut -f2 -d:` hms_ss=`echo $1 | cut -f3 -d:` hms2sec_sec=`expr \( $hms_hh \* 60 + $hms_mm \) \* 60 + $hms_ss` } # # main # while [ 1 -eq 1 ] ; do ntpdate -b ptbtime1.ptb.de >>$logfile hms2sec `date "+%H:%M:%S"` now_sec=$hms2sec_sec hms2sec $start_hms start_sec=$hms2sec_sec sleep_sec=`expr 86400 + $start_sec - $now_sec` echo `date "+%d %b %H:%M:%S"` `basename $0`[$$]: set time again in $sleep_sec seconds >>$logfile sleep $sleep_sec done