#!/bin/sh # synccal: synchronize xcalendar(xcal.el) files between # PocketBSD and UNIX machine # usage: synccal # Hitoshi Washizu(washizu@kkc1.c.u-tokyo.ac.jp) # make .login_cfg file as (man ncftpput) # host Bozo.probe.net # user gleason # pass mypasswd LOGIN_CFG=$HOME/.login_cfg # directory of xcalender(xcal.el) data files, please edit if you need. CALDIR=.Calendar # your UNIX machine's home, please edit. REMOTE_HOME=/home/gleason # current year, please edit if you need. XYEAR=1999 # your UNIX machine's hostname(used by ncftp), please edit. REMOTE_HOST=bozo LOCAL_CALDIR=$HOME/$CALDIR CALSTAMP_F=$LOCAL_CALDIR/stamp REMOTE_CALDIR=$REMOTE_HOME/$CALDIR if [ ! -f $LOGIN_CFG ];then echo "Prepare $LOGIN_CFG, then try." exit else if [ ! -f $LOGIN_CFG ] then echo `date` >> $CALSTAMP_F fi fi LOGIN_CFG_DATE=`ls -l $CALSTAMP_F | awk '{printf "-v"$6"m -v"$7"d"}'` LOGIN_CFG_DATE=`date "$LOGIN_CFG_DATE" +%s` NOW_DATE=`date +%s` PAST_DATE=`expr $NOW_DATE - $LOGIN_CFG_DATE` PAST_DATE=`expr $PAST_DATE / 86400` PAST_DATE=`expr $PAST_DATE + 2` cd $LOCAL_CALDIR echo "Downloading file..." echo "ncftp -R -n $PAST_DATE $REMOTE_HOST:$REMOTE_CALDIR" ncftp -R -n $PAST_DATE $REMOTE_HOST:$REMOTE_CALDIR echo "done." NEW_F=`find $LOCAL_CALDIR -newer $CALSTAMP_F -print | grep xc` i=1 while [ $i -ge 0 ] do LOCAL_FILE=`echo $NEW_F | grep $XYEAR` if [ ${#LOCAL_FILE} -gt 0 ];then echo "uploading file..." REMOTE_DIR=$REMOTE_CALDIR/xy$XYEAR ncftpput -f $LOGIN_CFG $REMOTE_DIR $LOCAL_FILE echo "done." fi XYEAR=`expr $XYEAR + 1` i=`expr $i - 1` done echo `date` >> $CALSTAMP_F