I would try something like this :
Code:
#!/bin/bash
TEMP_DIR="/home/tmp"
FTP_HOST="ftp.myhost.com"
FTP_USER="me"
FTP_PASSWORD="password"
FTP_DIR="/path/to/backup/logs"
FTP_URL="ftp://$FTP_USER:$FTP_PASSWORD@$FTP_HOST$FTP_DIR/"
FTP_UP=
APACHE_LOGS_DIR=/var/log/apache
cd $TEMP_DIR
for log in `ls $APACHE_LOGS_DIR`; do
LOG_NAME=$(basename $log)
zip -j "$LOG_NAME.zip" $log
FTP_UP="$FTP_UP -T $LOG_NAME.zip $FTP_URL"
done
curl -w '%{size_upload} bytes uploaded\n' $FTP_UP
Then I would save it as log_backup.sh for example, and edit crontab like :
Code:
30 12 1 * * /path/to/log_backups.sh
So it will run the first day of the month at 12:30 am
I did not add line to delete old log files and zip files so you can test the script before final stage