Skip to content

Instantly share code, notes, and snippets.

@t-book
Forked from jailbirt/backupRestoreGeonode.sh
Created May 16, 2018 10:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save t-book/d22dc2975d6a67c244dcfa9c6ec3f824 to your computer and use it in GitHub Desktop.
Save t-book/d22dc2975d6a67c244dcfa9c6ec3f824 to your computer and use it in GitHub Desktop.
backup and restore geonode
#!/bin/bash
option=$1
geonodeBackup='/home/geonode_backups'
mkdir $geonodeBackup
date=$(date +%Y-%m-%d-%H)
function stopServices
{
echo "Stopping services"
sudo service apache2 stop
sudo service tomcat7 stop
sudo service postgresql stop
}
function startServices
{
echo "Restarting services"
sudo service apache2 start
sudo service tomcat7 start
sudo service postgresql start
}
case $option in
backup)
echo "Sql dump"
sudo -u postgres -i pg_dump -c -Fc geonode > $geonodeBackup/geonodedb.backup
sudo -u postgres -i pg_dump -c -Fc geonodegisdb93 > $geonodeBackup/geonodegisdb93.backup
stopServices
echo "Making Files/Directory backup"
cd $geonodeBackup # go into the folder for backup
tar -cvzf geonodeConfigBackup.tgz /etc/geonode
tar -zcvf geonodeVarDataBackup.tgz /var/lib/geoserver/geonode-data/
tar -zcvf geonodeUsrDataBackup.tgz /usr/share/geoserver/data/
tar -zcvf geonodeWWWDataBackup.tgz /var/www/geonode/
tar -cvzf geonodei18nBackup.tgz /usr/local/lib/python2.7/dist-packages/geonode/locale/
tar -cvzf geonodePyDjangoBackup.tgz /usr/local/lib/python2.7/dist-packages/geonode/
tar -cvzf geonodePyDjangoEggBackup.tgz /usr/local/lib/python2.7/dist-packages/GeoNode-2.0-py2.7.egg-info/
startServices
Message="backup finished"
;;
restore)
stopServices
cd $geonodeBackup
for i in $(ls *.tgz)
do
echo "Restoring: $i"
sudo tar -C / -xvzf $i
done
startServices
sudo -u postgres dropdb geonode;
sudo -u postgres createdb geonode;
sudo -u postgres -i pg_restore -Fc -d geonode $geonodeBackup/geonodedb.backup
Message="restore finished"
;;
*)
Message="please use: $0 (backup|restore)"
;;
esac
echo $Message
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment