#!/bin/bash source lib/lib.sh ENVS=(PROJECT_NAME DBTYPE DBHOST DBUSER DBPASS DBTABLE STORAGE_HOST STORAGE_REGION STORAGE_PATH ACCOUNT_ID APPLICATION_KEY) for ENV in "${ENVS[@]}"; do if [[ -z "${!ENV+x}" ]]; then log_error "Not set $ENV env" exit 1 fi done EXT_DB="" case $DBTYPE in mysql) log "DB type is " EXT_DB="sql.gz" source lib/mysql.sh ;; postgresql|psql|postgres) log "DB type is " EXT_DB="dump.gz" source lib/postgresql.sh ;; mongo|mongod|mongodb) log "DB type is " EXT_DB="dump.tgz" source lib/mongo.sh ;; *) log_error "Unknown DB type, known , , mongodb" exit 1 ;; esac case $STORAGE_TYPE in s3) log "Storage type is " source storage/s3.sh ;; *) log_error "Unknown storage, known " exit 1 ;; esac TIME=`date +%Y-%m-%d-%H-%M` ARCHIVE="/srv/backup/""$PROJECT_NAME"_$TIME".$EXT_DB" log "Backuping db.." db_backup log "Copy $ARCHIVE to ${STORAGE_TYPE}" storage_upload rm $ARCHIVE log "Completed" exit 0