2009-09-15 Sancho Lerena <slerena@artica.es>

* util/pandora_backup.sh: Finished backup command line tool




git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1945 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
slerena 2009-09-15 16:38:00 +00:00
parent e9779f4dba
commit 13a57d5132
2 changed files with 32 additions and 15 deletions

View File

@ -1,3 +1,7 @@
2009-09-15 Sancho Lerena <slerena@artica.es>
* util/pandora_backup.sh: Finished backup command line tool
2009-09-14 Sancho Lerena <slerena@artica.es> 2009-09-14 Sancho Lerena <slerena@artica.es>
* bin/pandora_server: Now uses $Config{"enterprise"} to know if * bin/pandora_server: Now uses $Config{"enterprise"} to know if

View File

@ -14,9 +14,10 @@ function help {
echo -e "\t\t-s Source filename for backup restore. p.e: /tmp/pandorafms" echo -e "\t\t-s Source filename for backup restore. p.e: /tmp/pandorafms"
echo -e "\t\t-f Restore also files" echo -e "\t\t-f Restore also files"
echo -e "\t\t-q Quiet. No output message (used for scripts/cron)" echo -e "\t\t-q Quiet. No output message (used for scripts/cron)"
echo -e "\t\t-b No database backup/restore"
echo -e "\n\nPlease BE SURE TO USE RESTORE (-s) option. This will OVERWRITE ALL your" echo -e "\n\nPlease BE SURE TO USE RESTORE (-s) option. This will OVERWRITE ALL your"
echo -e "PandoraFMS install, including files, configuration and data. Consided to" echo -e "PandoraFMS install, including files, configuration and data. Please backup first!"
echo -e "make a backup first."
echo "" echo ""
exit 1 exit 1
} }
@ -29,11 +30,12 @@ fi
SOURCEBACKUP="thisnotexist" SOURCEBACKUP="thisnotexist"
QUIET=0 QUIET=0
RESTOREFILES=0 RESTOREFILES=0
DATABASE=1
TIMESTAMP=`date +"%Y-%m-%d-%H-%M-%S"` TIMESTAMP=`date +"%Y-%m-%d-%H-%M-%S"`
# Main parsing code # Main parsing code
while getopts "fhqc:d:s:" optname while getopts "bfhqc:d:s:" optname
do do
case "$optname" in case "$optname" in
"h") "h")
@ -45,6 +47,9 @@ while getopts "fhqc:d:s:" optname
"f") "f")
RESTOREFILES=1 RESTOREFILES=1
;; ;;
"b")
DATABASE=0
;;
"d") "d")
BACKUPDIR=$OPTARG BACKUPDIR=$OPTARG
;; ;;
@ -89,8 +94,13 @@ then
rm -Rf $BACKUPDIR/pandorafms_backup_$TIMESTAMP.tar.gz 2> /dev/null rm -Rf $BACKUPDIR/pandorafms_backup_$TIMESTAMP.tar.gz 2> /dev/null
mysqldump -u $DBUSER -p$DBPASS -h $DBHOST $DBNAME > pandorafms_backup_$TIMESTAMP.sql if [ $DATABASE == 1 ]
tar cvzf pandorafms_backup_$TIMESTAMP.tar.gz pandorafms_backup_$TIMESTAMP.sql $PANDORAPATH /etc/pandora /var/spool/pandora/data_in --exclude .data 2> /dev/null > /dev/null then
mysqldump -u $DBUSER -p$DBPASS -h $DBHOST $DBNAME > pandorafms_backup_$TIMESTAMP.sql
tar cvzf pandorafms_backup_$TIMESTAMP.tar.gz pandorafms_backup_$TIMESTAMP.sql $PANDORAPATH/* /etc/pandora /var/spool/pandora/data_in --exclude .data 2> /dev/null > /dev/null
else
tar cvzf pandorafms_backup_$TIMESTAMP.tar.gz $PANDORAPATH/* /etc/pandora /var/spool/pandora/data_in --exclude .data 2> /dev/null > /dev/null
fi
mv /tmp/$TIMESTAMP/pandorafms_backup_$TIMESTAMP.tar.gz $BACKUPDIR mv /tmp/$TIMESTAMP/pandorafms_backup_$TIMESTAMP.tar.gz $BACKUPDIR
cd /tmp cd /tmp
@ -107,21 +117,24 @@ else
echo "Detected Pandora FMS backup at $SOURCEBACKUP, please wait..." echo "Detected Pandora FMS backup at $SOURCEBACKUP, please wait..."
tar xvzf $SOURCEBACKUP > /dev/null 2> /dev/null tar xvzf $SOURCEBACKUP > /dev/null 2> /dev/null
echo "Dropping current database" if [ $DATABASE == 1 ]
echo "drop database $DBNAME;" | mysql -u $DBUSER -p$DBPASS -h $DBHOST then
echo "Dropping current database"
echo "drop database $DBNAME;" | mysql -u $DBUSER -p$DBPASS -h $DBHOST
echo "Restoring backup database" echo "Restoring backup database"
echo "create database $DBNAME;" | mysql -u $DBUSER -p$DBPASS -h $DBHOST echo "CREATE DATABASE $DBNAME;" | mysql -u $DBUSER -p$DBPASS -h $DBHOST
cat *.sql | mysql -u $DBUSER -p$DBPASS -h $DBHOST -D $DBNAME cat *.sql | mysql -u $DBUSER -p$DBPASS -h $DBHOST -D $DBNAME
fi
if [ $RESTOREFILES == 1 ] if [ $RESTOREFILES == 1 ]
then then
echo "Restoring files and configuration" echo "Restoring files and configuration"
#Need testing, not finished! cp -R var/spool/pandora/* /var/spool/pandora
echo "mv var/spool/pandora/* /var/spool/pandora" cp -R etc/pandora/* /etc/pandora
echo "mv etc/pandora/* /etc/pandora" BACKUPBASEPATH="`echo $PANDORAPATH | cut -c2-`"
echo "BACKUPBASEPATH=`echo $PANDORAPATH | cut -c2-`" cp -R $BACKUPBASEPATH/* $PANDORAPATH
echo "mv $BACKUPBASEPATH $PANDORAPATH"
fi fi
cd /tmp cd /tmp