#!/bin/sh -e
GENISYS="/opt/genisys"
BACKUP_DIR="/home/genisys/mongo/db_backup"
MONGO_HOST=`${GENISYS}/bin/python -c "import yaml; print(yaml.load(open('${GENISYS}/etc/production.conf'))['mongo']['mongodump_host'])"`
MONGO_PORT=`${GENISYS}/bin/python -c "import yaml; print(yaml.load(open('${GENISYS}/etc/production.conf'))['mongo']['mongodump_port'])"`
DB_NAME=`${GENISYS}/bin/python -c "import yaml; print(yaml.load(open('${GENISYS}/etc/production.conf'))['mongo']['dbname'])"`
KEEP_OLD=100

mkdir -p $BACKUP_DIR

backup_name="genisys-`date +%Y%m%d_%H%M%S`"
${GENISYS}/bin/mongodump --host ${MONGO_HOST} --port ${MONGO_PORT} -d ${DB_NAME} --out=${BACKUP_DIR}/${backup_name}
cd ${BACKUP_DIR}
tar cJf ${backup_name}.tar.xz ${backup_name}
rm -r ${backup_name}

old_backups=`ls genisys-*.tar.xz --sort=time --reverse | head -n-${KEEP_OLD}`
for old_backup in ${old_backups} ; do
  rm ${old_backup}
done
