#!/bin/sh

# ftpupload
#
# Copyright (C) 2012 Jonathan McCrohan

USERNAME=`/usr/bin/ftphelper --username`
PASSWORD=`/usr/bin/ftphelper --password`
SERVER=`/usr/bin/ftphelper --server`
# default to modbuslog if unset
LOCALDIRECTORY="/var/${UPLOADTYPE-modbuslog}"
REMOTEDIRECTORY=`/usr/bin/ftphelper --directory`

# current file to be uploaded 
CURRENTLOG=`/usr/bin/ftphelper --mac`"_"`date +%Y_%m_%d --date='0 days ago'`"_00_00_00.log"

# upload previous 6 days for redundancy
TWODAYLOG=`/usr/bin/ftphelper --mac`"_"`date +%Y_%m_%d --date='1 days ago'`"_00_00_00.log"
THREEDAYLOG=`/usr/bin/ftphelper --mac`"_"`date +%Y_%m_%d --date='2 days ago'`"_00_00_00.log"
FOURDAYLOG=`/usr/bin/ftphelper --mac`"_"`date +%Y_%m_%d --date='3 days ago'`"_00_00_00.log"
FIVEDAYLOG=`/usr/bin/ftphelper --mac`"_"`date +%Y_%m_%d --date='4 days ago'`"_00_00_00.log"
SIXDAYLOG=`/usr/bin/ftphelper --mac`"_"`date +%Y_%m_%d --date='5 days ago'`"_00_00_00.log"
SEVENDAYLOG=`/usr/bin/ftphelper --mac`"_"`date +%Y_%m_%d --date='6 days ago'`"_00_00_00.log"

# enter modbuslog directory
cd $LOCALDIRECTORY

# move file to archive
/bin/mv $CURRENTLOG $LOCALDIRECTORY/archive/

# mput is dumb, and if we don't cd to the directory,
# it will try to save file to /var/modbuslog/MAC.....log on ftp remote
cd $LOCALDIRECTORY/archive/

# login to remote server and upload
/usr/bin/ftp -n -v -i $SERVER <<EOF
user $USERNAME $PASSWORD
cd $REMOTEDIRECTORY
mput $CURRENTLOG
mput $TWODAYLOG
mput $THREEDAYLOG
mput $FOURDAYLOG
mput $FIVEDAYLOG
mput $SIXDAYLOG
mput $SEVENDAYLOG
bye
EOF

EXITSTATUS=$?

# remove files after 3 months
CLEANUP="$LOCALDIRECTORY/archive/"`/usr/bin/ftphelper --mac`"_"`date +%Y_%m --date='4 months ago'`"*.log"
/bin/rm $CLEANUP

exit $EXITSTATUS