#!/bin/bash

export PYTHONPATH=/usr/local/lib/python

backuppath=/mnt/backup/Raspberry/dbbackup/$(date +%Y%b%d)

date

echo Mounting backup drive
sudo mount -o nolock 192.168.1.101:/Backup /mnt/backup

if [ $? != 0 ]; then
  echo "Mount failed (wrong user/password, missing computer/share, etc"
  exit -1
fi

if [ -a $backuppath ]; then
  echo Hmmm... backup path already exists... aborting..
else
  echo Creating backup path: $backuppath
  mkdir $backuppath

  if [ $? != 0 ]; then
    echo "Unable to create backup destination directory"
    sudo umount /mnt/backup
    exit -1
  fi

  echo Running mysqldump...
  mysqldump --verbose --databases onewire --routines --single-transaction --log-error=$backuppath/backup.log | gzip --stdout > $backuppath/onewire.gz

  cd /
  echo Backing up ~/sql
  tar cf - home/pi/sql | gzip --stdout > $backuppath/sql.tar.gz

  echo Backing up /var/www
  tar cf - var/www | gzip --stdout > $backuppath/www.tar.gz

  echo Backing up /usr/local/bin
  tar cf - usr/local/bin --exclude ff* | gzip --stdout > $backuppath/usrlocalbin.tar.gz

  echo Backing up /usr/local/ssl
  sudo tar cf - usr/local/ssl | gzip --stdout > $backuppath/usrlocalssl.tar.gz

  echo Backing up misc files
  tar cf - etc/apache2/apache2.conf home/pi/.profile usr/local/lib/python | gzip --stdout > $backuppath/misc.tar.gz
  echo Files on backup path:
  du -h $backuppath/*

  /usr/local/bin/sendprowlmessage "Database backup" "$(cd $backuppath; du -h * | sed 's/\t/ /')" 0
fi

echo Unmounting backup drive
sudo umount /mnt/backup

echo Done

date
