Welcome to Headwind MDM Q&A, where you can ask questions and receive answers from other members of the community.

IMPORTANT: Please notify the team about your question by filling in the form on the contact page. Otherwise, we may miss your question!

0 votes
Do you have a recommended backup scheme for server?  Such as - we can write a tar script and sftp to an offsite storage?

We would sql dump - tomcat directory and mdm directories.
by

1 Answer

0 votes

Here are sample scripts for doing backup and restore. They write backups to a backup directory - you can either mount a remote storage or update scripts so they send files using sftp.

Note that your directories may differ from default directories! Test these scripts before using in production!

backup-database.sh

#!/bin/sh

#

# This script makes a database backup and stores it to a backup directory

# (the directory should exist)

# Backups older than 2 days are removed

#

# To restore, drop and re-create the hmdm database, then run the command

# psql -U hmdm hmdm < hmdm-backupdate.sql

#

DIR=/var/backup/hmdm

DATESTR=$(date +%Y-%m-%d)

PGPASSWORD=topsecret pg_dump -h 127.0.0.1 -U hmdm hmdm > $DIR/hmdm-$DATESTR.sql

gzip -f $DIR/hmdm-$DATESTR.sql

find $DIR -type f -mtime +2 -exec rm {} \;

backup-files.sh

#!/bin/sh

#

# This script makes Headwind MDM files backup and stores it to a backup directory

# (the directory should exist)

# Backups older than 2 days are removed

#

# To restore, run the script restore-files.sh hmdm-backupdate.tar.gz

#

TMP_DIR=/tmp

TOMCAT_DIR=/var/lib/tomcat8

HMDM_DIR=/opt/hmdm

BACKUP_DIR=/var/backup/hmdm

FILES_DIR=files

PLUGINS_DIR=plugins

TOMCAT_APP=ROOT

DATESTR=$(date +%Y-%m-%d)

BACKUP_DIR=$TMP_DIR/hmdm-$DATESTR

mkdir $BACKUP_DIR 

cp -r $HMDM_DIR/$FILES_DIR $BACKUP_DIR

cp -r $HMDM_DIR/$PLUGINS_DIR $BACKUP_DIR

cp $HMDM_DIR/log4j-hmdm.xml $BACKUP_DIR

cp $TOMCAT_DIR/conf/Catalina/localhost/$TOMCAT_APP.xml $BACKUP_DIR

cp $TOMCAT_DIR/webapps/$TOMCAT_APP.war $BACKUP_DIR

cd $TMP_DIR

tar -zcf hmdm-$DATESTR.tar.gz hmdm-$DATESTR

rm -rf $BACKUP_DIR

mv hmdm-$DATESTR.tar.gz $BACKUP_DIR

find $BACKUP_DIR -type f -mtime +2 -exec rm {} \;

restore-files.sh

#!/bin/bash

#

# This script restores Headwind MDM files from the backup

# Use this script with care because it may overwrite the existing installation!

#

TMP_DIR=/tmp

TOMCAT_DIR=/var/lib/tomcat8

HMDM_DIR=/opt/hmdm

FILES_DIR=files

PLUGINS_DIR=plugins

TOMCAT_APP=ROOT

if [ ! -f "$1" ]; then

    echo "Usage: restore-files.sh hmdm-backupdate.tar.gz"

    return

fi

BACKUP_DIR="${1/.tar.gz/}"

cd $TMP_DIR

tar -zxf $1

cd $BACKUP_DIR

cp -r $FILES_DIR $HMDM_DIR/$FILES_DIR

cp -r $PLUGINS_DIR $HMDM_DIR/$PLUGINS_DIR

cp log4j-hmdm.xml $HMDM_DIR

cp $TOMCAT_APP.xml $TOMCAT_DIR/conf/Catalina/localhost

cp $TOMCAT_APP.war $TOMCAT_DIR/webapps

cd $TMP_DIR

rm -rf $BACKUP_DIR

by (6.9k points)
...