cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ilya <ilya.mailing.li...@gmail.com>
Subject CloudStack DB Backup Script - Fetching mysql details from db.properties
Date Tue, 17 Mar 2015 17:10:36 GMT
It would be ideal if we can make this or similar script as part of 
cloudstack upgrade procedure i.e. create backups before start!


CloudStack DB Backup Script - Fetching mysql details from db.properties



#!/bin/bash
DBNAMES="cloud cloud_usage cloudbridge"
DATE=$(date +%m%d%y-%H%M%S)
DBPASS=$(java -classpath 
/usr/share/cloudstack-common/lib/jasypt-1.9.0.jar 
org.jasypt.intf.cli.JasyptPBEStringDecryptionCLI input="$(cat 
/etc/cloudstack/management/db.properties | grep db.cloud.password | awk 
-F'(' '{print $2}' | sed 's/)//g')" password="$(cat 
/etc/cloudstack/management/key)" | grep -A2 OUTPUT | tail -1)
#Assuming that cloud user can access all 3 dbs
DBHOST=$(cat /etc/cloudstack/management/db.properties | grep 
db.cloud.host | awk -F'=' '{print $2}' | tail -1 )
DBUSER=$(cat /etc/cloudstack/management/db.properties | grep 
db.cloud.username | awk -F'=' '{print $2}')
DB=$(cat /etc/cloudstack/management/db.properties | grep db.cloud.name | 
awk -F'=' '{print $2}')
DBPORT=$(cat /etc/cloudstack/management/db.properties | grep 
db.cloud.port | awk -F'=' '{print $2}')
#echo $DBPASS $DBHOST $DBUSER $DB $DBPORT
for DB in $DBNAMES
         do
                 printf "Backing up DB $DB, please wait .... "
                 mysqldump -h $DBHOST -u $DBUSER -P $DBPORT -p$DBPASS 
$DB >$DB.$(hostname -s).$DATE.sql && echo "done" || echo "error!"
         done
echo -e  "\nCompressing all files into single tar.gz - 
all-cloud-dbs.$(hostname -s).$DATE.sql.tgz file ..."
tar -zcvf all-cloud-dbs.$(hostname -s).$DATE.sql.tgz *$(hostname 
-s).$DATE.sql && echo -e "done\n" || echo -e "error!\n"
printf "Cleaning up .... "
rm -rf *$(hostname -s).$DATE.sql && echo -e "done\n" || echo "error!\n"

Mime
View raw message