aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStevan Radaković <stevan.radakovic@linaro.org>2013-01-28 16:50:42 +0100
committerStevan Radaković <stevan.radakovic@linaro.org>2013-01-28 16:50:42 +0100
commit35b56419405b89d128a071437549d04e6ed4bb8b (patch)
treef921fa3611a354858a4ffedb2240051d6255336d
parent5e0dc070479053bf9e07d27f1b0db7d9ff6d936f (diff)
pg_dump from now on works with postgres user.
-rwxr-xr-xscripts/rhodecode-setup17
1 files changed, 13 insertions, 4 deletions
diff --git a/scripts/rhodecode-setup b/scripts/rhodecode-setup
index 7769bcc..f348d6b 100755
--- a/scripts/rhodecode-setup
+++ b/scripts/rhodecode-setup
@@ -7,6 +7,7 @@ import datetime
import os
import subprocess
import sys
+import tempfile
DESCRIPTION = "Install and setup RhodeCode Linaro instance."
@@ -539,7 +540,7 @@ def backup_installation(home_dir):
execute_command(cmd_args, work_dir=home_dir)
-def backup_postgres_db(home_dir, db_name):
+def backup_postgres_db(home_dir, db_name, postgres_usr="postgres"):
"""Backup the database as file in home directory.
:param home_dir: Working directory.
@@ -548,9 +549,17 @@ def backup_postgres_db(home_dir, db_name):
:type str
"""
date = datetime.date.today()
- db_filename = "%s.%s" % (DB_BACKUP_FILENAME, date.strftime("%Y.%m.%d"))
- cmd_args = ["pg_dump", db_name, ">", DB_BACKUP_FILENAME]
- execute_command(cmd_args, work_dir=home_dir)
+ try:
+ tempfile = tempfile.NamedTemporaryFile()
+ db_filename = "%s.%s" % (DB_BACKUP_FILENAME, date.strftime("%Y.%m.%d"))
+ cmd_args = ["-u", postgres_usr, "pg_dump", db_name, "-f",
+ tempfile.name]
+ execute_command(cmd_args, work_dir=home_dir)
+
+ cmd_args = ["cp", tempfile.name, DB_BACKUP_FILENAME]
+ execute_command(cmd_args, work_dir=home_dir)
+ finally:
+ tempfile.close()
def setup_rhodecode(rhodecode_dir, config_file, git_repos, admin_usr,