echo "Restoring..."
-# Migrate backup to date-based format
-if [ -f /srv/backup/postgres.dump ]; then
- echo 'A backup without date was found. Moving it to postgres_old.dump'
- mv /srv/backup/postgres.dump /srv/backup/postgres_old.dump
- if [ ! -f /srv/backup/postgres_latest.dump ]; then
- cd /srv/backup
- ln -s postgres_old.dump postgres_latest.dump
- fi
-fi
-
# import database functions of type
if [ ! -z "$MYSQL_ROOT_PASSWORD" ]; then
gunzip < /srv/backup/mysql.dump.gz | mysql -h db $MYSQL_DATABASE -uroot -p$MYSQL_ROOT_PASSWORD
echo "Creating new db..."
createdb -hdb -Upostgres -T template0 postgres
echo "Importing dump..."
- pg_restore -C -c -hdb -Upostgres -dpostgres /srv/backup/${1:-postgres_latest.dump}
+ pg_restore -C -c -hdb -Upostgres -dpostgres /srv/backup/postgres.dump
fi
echo "Restore done!"
--- /dev/null
+#!/bin/bash
+
+/srv/bin/misc/wait-for-it/wait-for-it.sh -h db -p $DB_PORT;
+
+# Stop execution if some command fails
+set -e
+
+echo "Restoring..."
+
+# Migrate backup to date-based format
+if [ -f /srv/backup/postgres.dump ]; then
+ echo 'A backup without date was found. Moving it to postgres_old.dump'
+ mv /srv/backup/postgres.dump /srv/backup/postgres_old.dump
+ if [ ! -f /srv/backup/postgres_latest.dump ]; then
+ cd /srv/backup
+ ln -s postgres_old.dump postgres_latest.dump
+ fi
+fi
+
+# import database functions of type
+if [ ! -z "$MYSQL_ROOT_PASSWORD" ]; then
+ gunzip < /srv/backup/mysql.dump.gz | mysql -h db $MYSQL_DATABASE -uroot -p$MYSQL_ROOT_PASSWORD
+elif [ ! -z "$POSTGRES_PASSWORD" ]; then
+ export PGPASSWORD=$POSTGRES_PASSWORD
+ echo "Killing clients..."
+ psql -hdb -Upostgres -dpostgres -c "SELECT pid, (SELECT pg_terminate_backend(pid)) as killed from pg_stat_activity WHERE state LIKE 'idle';"
+ echo "Dropping db..."
+ dropdb -hdb -Upostgres postgres
+ echo "Creating new db..."
+ createdb -hdb -Upostgres -T template0 postgres
+ echo "Importing dump..."
+ pg_restore -C -c -hdb -Upostgres -dpostgres /srv/backup/${1:-postgres_latest.dump}
+fi
+
+echo "Restore done!"
# Stop execution if some command fails
set -e
-# Migrate backup to date-based format
-if [ -f /srv/backup/postgres.dump ]; then
- echo 'A backup without date was found. Moving it to postgres_old.dump'
- mv /srv/backup/postgres.dump /srv/backup/postgres_old.dump
- if [ ! -f /srv/backup/postgres_latest.dump ]; then
- cd /srv/backup
- ln -s postgres_old.dump postgres_latest.dump
- fi
-fi
-
if [ ! -z "$MYSQL_PASSWORD" ]; then
export MYSQL_PWD=$MYSQL_PASSWORD
mysqldump $MYSQL_DATABASE -hdb -u$MYSQL_USER | gzip > /srv/backup/mysql.dump.gz
elif [ ! -z "$POSTGRES_PASSWORD" ]; then
export PGPASSWORD=$POSTGRES_PASSWORD
- now=$(date +"%m_%d_%Y_%H_%M_%S")
- pg_dump -Fc -hdb -Upostgres -dpostgres > /srv/backup/postgres_$now.dump
- cd /srv/backup
- rm -f postgres_latest.dump
- ln -s postgres_$now.dump postgres_latest.dump
+ pg_dump -Fc -hdb -Upostgres -dpostgres > /srv/backup/postgres.dump
fi
echo "Backup done!"
--- /dev/null
+#!/bin/bash
+
+# dump postgres or mysql functions of the database
+# export POSTGRES="$(dpkg --get-selections | grep postgres 2>&1)"
+# export MYSQL="$(dpkg --get-selections | grep mysql 2>&1)"
+
+# Stop execution if some command fails
+set -e
+
+# Migrate backup to date-based format
+if [ -f /srv/backup/postgres.dump ]; then
+ echo 'A backup without date was found. Moving it to postgres_old.dump'
+ mv /srv/backup/postgres.dump /srv/backup/postgres_old.dump
+ if [ ! -f /srv/backup/postgres_latest.dump ]; then
+ cd /srv/backup
+ ln -s postgres_old.dump postgres_latest.dump
+ fi
+fi
+
+if [ ! -z "$MYSQL_PASSWORD" ]; then
+ export MYSQL_PWD=$MYSQL_PASSWORD
+ mysqldump $MYSQL_DATABASE -hdb -u$MYSQL_USER | gzip > /srv/backup/mysql.dump.gz
+elif [ ! -z "$POSTGRES_PASSWORD" ]; then
+ export PGPASSWORD=$POSTGRES_PASSWORD
+ now=$(date +"%m_%d_%Y_%H_%M_%S")
+ pg_dump -Fc -hdb -Upostgres -dpostgres > /srv/backup/postgres_$now.dump
+ cd /srv/backup
+ rm -f postgres_latest.dump
+ ln -s postgres_$now.dump postgres_latest.dump
+fi
+
+echo "Backup done!"