From 91d04c64771832a0b8815ffbe1f0f9920320d94d Mon Sep 17 00:00:00 2001 From: Pamela Dragosh Date: Tue, 14 Feb 2017 19:41:00 -0500 Subject: Initial OpenECOMP policy/engine commit Change-Id: I7dbff37733b661643dd4d1caefa3d7dccc361b6e Signed-off-by: Pamela Dragosh --- .../files/install/mysql/bin/db_backup_remote.sh | 88 ++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 packages/base/src/files/install/mysql/bin/db_backup_remote.sh (limited to 'packages/base/src/files/install/mysql/bin/db_backup_remote.sh') diff --git a/packages/base/src/files/install/mysql/bin/db_backup_remote.sh b/packages/base/src/files/install/mysql/bin/db_backup_remote.sh new file mode 100644 index 000000000..00ee95269 --- /dev/null +++ b/packages/base/src/files/install/mysql/bin/db_backup_remote.sh @@ -0,0 +1,88 @@ +#!/bin/bash +### +# ============LICENSE_START======================================================= +# ECOMP Policy Engine +# ================================================================================ +# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= + +### +# +# db_backup_remote.sh: Perform database backup from remote +# +# Usage : db_backup_remote.sh db_user db_user_password database db_hostname +# Example: db_backup_remote.sh policy_user password ecomp_sdk localhost.com +# +# Note: 1. mysqldump utility must be available in the env where this script intend to run +# 2. db_user requires at least the SELECT privilege for dumped tables +# +# + +. $HOME/.profile + +DB_USER="" +DB_PASSWORD="" +DATABASE="" +DB_HOSTNAME="" +DATE=`date +"%Y%m%d"` +DATETIME=`date +"%Y%m%d%H%M%S"` +DAILY_BACKUP_DIR="" +LOG="" +ERR="" + +function create_backup_dir +{ + if [ ! -d $DAILY_BACKUP_DIR ]; then + echo "Create DAILY_BACKUP_DIR [$DAILY_BACKUP_DIR] ..." + mkdir -p $DAILY_BACKUP_DIR 2>&1 + fi +} + +function backup_database +{ + echo "backup database [$DATABASE]@[${DB_HOSTNAME}] started ...@`date`" | tee -a $LOG + + BACKUP_FILE=$DAILY_BACKUP_DIR/backup_${DATABASE}_${DB_HOSTNAME}_${DATETIME}.sql + #echo $BACKUP_FILE + mysqldump --user=${DB_USER} --password=${DB_PASSWORD} --databases ${DATABASE} -h ${DB_HOSTNAME} > $BACKUP_FILE + echo "" | tee -a $LOG + echo "database backup file --> $BACKUP_FILE" | tee -a $LOG + echo "" | tee -a $LOG + echo "backup database [$DATABASE]@[${DB_HOSTNAME}] completed ...@`date`" | tee -a $LOG +} + + +# MAIN +if [ $# -eq 4 ]; then + DB_USER="${1}" + DB_PASSWORD="${2}" + DATABASE="${3}" + DB_HOSTNAME="${4}" + echo "db_backup_remote.sh for [$DATABASE]@[${DB_HOSTNAME}] started ... `date`" | tee -a $LOG + echo "DB_USER : $DB_USER" | tee -a $LOG + echo "DATABASE : $DATABASE" | tee -a $LOG + echo "DB_HOSTNAME: $DB_HOSTNAME" | tee -a $LOG + + DAILY_BACKUP_DIR=$POLICY_HOME/data/mysql/$DATE + LOG=$POLICY_HOME/logs/db_backup_remote_$DATE.log + ERR=$POLICY_HOME/logs/db_backup_remote_$DATE.err + create_backup_dir + + backup_database + echo "db_backup_remote.sh for [$DATABASE]@[${DB_HOSTNAME}] completed ... `date`" | tee -a $LOG +else + echo "Usage : db_backup_remote.sh db_user_id db_user_password database db_hostname" + echo "Example: db_backup_remote.sh policy_user password ecomp_sdk localhost.com" +fi -- cgit 1.2.3-korg