#!/bin/bash

dateformatstr='%d-%m-%Y %H:%M:%S'
timeformatstr='%H:%M:%S'
backup_script=db-backup

cd `dirname $0`
if [ -f dbparams ]; then
  source ./dbparams
else
  admin_email=root@f2soft.ru
fi

LOG=$0.log
exec 7>&1
exec 1>$LOG
echo "Запущен бэкап в `date +\"$dateformatstr\"`"

# --- Check free disk space --- #
#diskfree=$(df -B1|grep home|awk '{print $4}');
#if [ $diskfree -le 1024102400 ]; then
#  echo " ВНИМАНИЕ: На диске меньше 1G свободного места!!"
#fi

if [ ! -f $backup_script ]; then
  echo "Ошибка: Не найден файл $backup_script"
  exec 1>&7 7>&-
  exit 1
fi

# --- Main --- #
if [ -f dblist ]; then
#  cat dblist | while read i # Использование while предпочтительней, но вложенный (в db-backup) ssh ломает все :(
  for i in `cat dblist|awk '{printf "%s|%s|%s\n", $1, $2, $3}'`
  do
    rem=${i:0:1}
    if [ "$rem" == "#" ]; then
      continue
    fi
    i=${i//\|/ }
    db=${i%%\ *}
    echo -n "$db... "
    ret=`bash $backup_script $i 2>&1`
    if [ $? -ne 0 ]; then
      echo "ошибка: $ret"
    else
      echo "завершено успешно `date +\"$timeformatstr\"`"
    fi
  done < dblist
  
fi
echo "Завершен бэкап в `date +\"$dateformatstr\"`"
exec 1>&7 7>&-
