#!/bin/ash
#upload log to ftp server
#
##
mkdir -p /mnt/usb/logs/backup
DIR="/mnt/usb/logs/backup"
SN=`hostname`
DATA1=`date +%Y%m%d`
##
touch /mnt/usb/logs/ftp_upload.log /mnt/usb/logs/ftp_num
NUM=`cat /mnt/usb/logs/ftp_num`
if [ $NUM -ne 0 ]
then
NUM=$(($NUM-1))
fi
DATA=$DATA1-$NUM
#rotate log
rotate_log()
{
if [ ! -f access.log-$DATA1 ]
then
/etc/init.d/lighttpd stop
mv ../access.log access.log-$DATA1
touch ../access.log
/etc/init.d/lighttpd start
#/usr/sbin/logrotate -f /etc/logrotate.conf
fi
}
#tar log
tar_log(){
if [ -f access.log-$DATA1 ]
then
if [ ! -f $SN-$DATA.log.gz ]
then
mv access.log-$DATA1 $SN-$DATA.log
tar -czf $SN-$DATA.log.gz $SN-$DATA.log
fi
fi
}
##upload log
upload_log(){
if [ -f $SN-$DATA.log.gz ]
then
lftp 10.8.0.1 -u huahuabox,bblK.eQu -e "mkdir $SN;cd $SN;put $SN-$DATA.log.gz;bye"
if [ $? -eq 0 ]
then
echo $SN-$DATA.log.gz > /mnt/usb/logs/ftp_upload.log
mv $SN-$DATA.log.gz $SN-$DATA.log.gz.old
if [ $NUM -gt 100 ]
then
echo 0 > /mnt/usb/logs/ftp_num
else
NUM=$(($NUM+1))
echo $NUM > /mnt/usb/logs/ftp_num
fi
fi
fi
}
##do it
if ping -c 2 8.8.8.8
then
if [ -f /usr/bin/lftp ]
then
cd $DIR
grep $SN-$DATA.log.gz /mnt/usb/logs/ftp_upload.log
if [ ! $? -eq 0 ]
then
rotate_log
tar_log
upload_log
rm $SN-$DATA.log.gz.old
fi
fi
fi