3 # ============LICENSE_START=======================================================
5 # ================================================================================
6 # Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
7 # ================================================================================
8 # Licensed under the Apache License, Version 2.0 (the "License");
9 # you may not use this file except in compliance with the License.
10 # You may obtain a copy of the License at
12 # http://www.apache.org/licenses/LICENSE-2.0
14 # Unless required by applicable law or agreed to in writing, software
15 # distributed under the License is distributed on an "AS IS" BASIS,
16 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 # See the License for the specific language governing permissions and
18 # limitations under the License.
19 # ============LICENSE_END=========================================================
23 # db_backup_remote.sh: Perform database backup from remote
25 # Usage : db_backup_remote.sh db_user db_user_password database db_hostname
26 # Example: db_backup_remote.sh policy_user password onap_sdk localhost.com
28 # Note: 1. mysqldump utility must be available in the env where this script intend to run
29 # 2. db_user requires at least the SELECT privilege for dumped tables
40 DATETIME=`date +"%Y%m%d%H%M%S"`
45 function create_backup_dir
47 if [ ! -d $DAILY_BACKUP_DIR ]; then
48 echo "Create DAILY_BACKUP_DIR [$DAILY_BACKUP_DIR] ..."
49 mkdir -p $DAILY_BACKUP_DIR 2>&1
53 function backup_database
55 echo "backup database [$DATABASE]@[${DB_HOSTNAME}] started ...@`date`" | tee -a $LOG
57 BACKUP_FILE=$DAILY_BACKUP_DIR/backup_${DATABASE}_${DB_HOSTNAME}_${DATETIME}.sql
59 mysqldump --user=${DB_USER} --password=${DB_PASSWORD} --databases ${DATABASE} -h ${DB_HOSTNAME} > $BACKUP_FILE
61 echo "database backup file --> $BACKUP_FILE" | tee -a $LOG
63 echo "backup database [$DATABASE]@[${DB_HOSTNAME}] completed ...@`date`" | tee -a $LOG
73 if [ -z ${POLICY_LOGS} ]; then
74 POLICY_LOGS=/var/log/onap
76 mkdir -p $POLICY_LOGS/policy/db
77 LOG=$POLICY_LOGS/policy/db/db_backup_remote_$DATE.log
78 ERR=$POLICY_LOGS/policy/db/db_backup_remote_$DATE.err
80 echo "db_backup_remote.sh for [$DATABASE]@[${DB_HOSTNAME}] started ... `date`" | tee -a $LOG
81 echo "DB_USER : $DB_USER" | tee -a $LOG
82 echo "DATABASE : $DATABASE" | tee -a $LOG
83 echo "DB_HOSTNAME: $DB_HOSTNAME" | tee -a $LOG
85 DAILY_BACKUP_DIR=$POLICY_HOME/data/mysql/$DATE
89 echo "db_backup_remote.sh for [$DATABASE]@[${DB_HOSTNAME}] completed ... `date`" | tee -a $LOG
91 echo "Usage : db_backup_remote.sh db_user_id db_user_password database db_hostname"
92 echo "Example: db_backup_remote.sh policy_user password onap_sdk localhost.com"