From f5809ba51fdd64499841259e3d5586b2aab72259 Mon Sep 17 00:00:00 2001 From: Thomas LEVEIL Date: Sun, 21 May 2017 21:34:35 +0200 Subject: [PATCH] add backup script --- scripts/backup.sh | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100755 scripts/backup.sh diff --git a/scripts/backup.sh b/scripts/backup.sh new file mode 100755 index 0000000..e2d8975 --- /dev/null +++ b/scripts/backup.sh @@ -0,0 +1,31 @@ +#!/bin/bash +set -eu + + +# Resolve script directory. See http://stackoverflow.com/a/246128/107049 +SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink + DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + SOURCE="$(readlink "$SOURCE")" + [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located +done +DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + + + +if [[ $# -ne 1 ]]; then + cat >&2 <<-EOT + ERROR: missing destination file path + + $(basename $0) +EOT + exit 1 +else + SQL_FILE=$1 +fi + + + +cd "${DIR}/.." +exec docker-compose run --rm postgres pg_dumpall --host postgres --user postgres --clean > "${SQL_FILE}" +