#!/bin/sh # # Time adjust by ntpdate. # Usage : timeadjust.sh [-c] [NTPDATE PATH] [TIME SERVER] # export PATH=/home/QtPalmtop/bin:/root/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin export LOGNAME=root export QTDIR=/home/QtPalmtop # --- Default Setting --- NTPDATE=/usr/bin/ntpdate ICONPICT=/home/QtPalmtop/pics144/timeadjust.png EXECMODE=do # --- Check user "zaurus" existance --- USER=`cut -d : -f 1,3,4 /etc/passwd | grep zaurus:500:500` if [ "$USER" = "" ]; then USER=root:0:0 fi USERHOME=`cut -d : -f 1,3,4,6 /etc/passwd | grep $USER | cut -d : -f 4` CONFFILE=${USERHOME}/Settings/timeadjust.conf LOGFILE=${USERHOME}/Documents/TimeAdjust.txt TMPFILE=/tmp/TimeAdjust.txt USER=`echo $USER | cut -d : -f 1` TIMESERVER= # --- Process Comaand Options --- if [ "$1" != "" ]; then case "$1" in '-c') EXECMODE=clear ;; *) if [ -x $1 ]; then NTPDATE=$1 if [ "$2" != "" ]; then TIMESERVER=$2 fi else TIMESERVER=$1 fi ;; esac fi # ---- Main Process ---- case "$EXECMODE" in 'do') # --- read and rotate NTP server list --- if [ "$TIMESERVER" = "" ]; then TIMESERVER=`grep -v "#" -i $CONFFILE | head -1 | cut -f1` ( grep -v "$TIMESERVER" $CONFFILE grep "$TIMESERVER" $CONFFILE ) >$TMPFILE mv $TMPFILE $CONFFILE chown $USER $CONFFILE fi # --- Time Adjust --- qcop QPE/TrayIconCtl "add(QString,QString)" timeadjust $ICONPICT qcop QPE/TrayIconCtl "removeWith(QString,int)" timeadjust $$ ( echo "--- TimeAdjust ---" echo "NTPDATE : $NTPDATE" echo "USER : $USER" echo "LOGFILE : $LOGFILE" echo "TIMESERVER : $TIMESERVER" echo "START : "`date` ) >>$LOGFILE $NTPDATE $TIMESERVER >>$LOGFILE 2>&1 echo 'W' > /var/spool/at/trigger 2>>$LOGFILE echo "FINISH : "`date` >>$LOGFILE qcop QPE/TrayIconCtl "remove(QString)" timeadjust # ---- rotate log file ---- tail -20 $LOGFILE>$TMPFILE mv $TMPFILE $LOGFILE chown $USER $LOGFILE ;; 'clear') # --- Process clear ---- if [ "$EXECMODE" = "clear" ]; then killall ntpdate qcop QPE/TrayIconCtl "remove(QString)" timeadjust fi ;; esac