summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Palfrader <peter@palfrader.org>2005-12-29 12:01:00 +0000
committerweasel <weasel@bc3d92e2-beff-0310-a7cd-cc87d7ac0ede>2005-12-29 12:01:00 +0000
commitc53219a01df0af71b1e4e3de3b811d34433db60f (patch)
treef8e327c36516424328269de14870a8dfddb91afe
parent7bc341b89a7289e12ba90a802fdae145f1ec7e31 (diff)
Backup postgres postgres database
git-svn-id: svn+ssh://asteria.noreply.org/svn/weaselutils/trunk@40 bc3d92e2-beff-0310-a7cd-cc87d7ac0ede
-rwxr-xr-xbackup-postgres17
1 files changed, 17 insertions, 0 deletions
diff --git a/backup-postgres b/backup-postgres
index 8e4e217..afe9782 100755
--- a/backup-postgres
+++ b/backup-postgres
@@ -14,6 +14,7 @@ set -u
DATE=`date "+%Y%m%d-%H%M%S"`
CLIENTBASE=/srv/www/vhosts
+SYSBASE=/var/backups/local/pg
sudo -u postgres psql -l -t | awk '$1 != "" {print $1}' |
while read db; do
@@ -50,6 +51,22 @@ while read db; do
file="$BASE/$DATE-$db.custom"
sudo -u postgres pg_dump --blobs --create --format=c "$db" > "$file"
nice bzip2 -- "$file"
+ elif [ "$db" = "postgres" ]; then
+ file="$SYSBASE/$DATE-$db.plain"
+ sudo -u postgres pg_dump --create --format=p "$db" > "$file"
+ nice bzip2 -- "$file"
+
+ md5=`md5sum -- "$file.bz2" | awk '{print $1}'`
+ if [ -e "$SYSBASE/MD5-$md5" ]; then
+ rm -- "$file.bz2"
+ ln "$SYSBASE/MD5-$md5" "$file.bz2"
+ else
+ ln "$file.bz2" "$SYSBASE/MD5-$md5"
+ fi
+
+ file="$SYSBASE/$DATE-$db.custom"
+ sudo -u postgres pg_dump --blobs --create --format=c "$db" > "$file"
+ nice bzip2 -- "$file"
else
echo "Not doing a backup of $db" >&2
fi