aboutsummaryrefslogtreecommitdiffstats
path: root/packages/base/src/files/install/mysql/bin/db_backup_remote.sh
diff options
context:
space:
mode:
Diffstat (limited to 'packages/base/src/files/install/mysql/bin/db_backup_remote.sh')
-rw-r--r--packages/base/src/files/install/mysql/bin/db_backup_remote.sh88
1 files changed, 88 insertions, 0 deletions
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