Alphak Postado Janeiro 31, 2013 Denunciar Share Postado Janeiro 31, 2013 Olá,Estou Montando um script em Python, para gerar dump do Postgresql, Segue o Script:Site fonte script: PostgreSQL Backup script (python)from time import gmtime, strftime import subprocess import os import glob import time # change these as appropriate for your platform/environment : USER = "postgres" PASS = "xxxxxxx" HOST = "localhost" BACKUP_DIR = "d:\\Pg_Backup\py\\" dumper = """ "c:\\Program Files\\PostgreSQL\\9.2\\bin\\pg_dump" -U %s -Z 9 -f %s -F c %s """ def log(string): print time.strftime("%Y-%m-%d-%H-%M-%S", time.gmtime()) + ": " + str(string) # Change the value in brackets to keep more/fewer files. time.time() returns seconds since 1970... # currently set to 2 days ago from when this script starts to run. x_days_ago = time.time() - (60 * 60 * 24 * 2) os.putenv('PGPASSWORD', PASS) database_list = subprocess.Popen('echo "select datname from pg_database" | psql -t -U %s -h %s template1' % USER , shell=True, stdout=subprocess.PIPE).stdout.readlines() # Delete old backup files first. for database_name in database_list : database_name = database_name.strip() if database_name == '': continue glob_list = glob.glob(BACKUP_DIR + database_name + '*' + '.pgdump') for file in glob_list: file_info = os.stat(file) if file_info.st_ctime < x_days_ago: log("Deslincando: %s" % file) os.unlink(file) else: log("Mantendo : %s" % file) log("Arquivos anteriores a: %s foram removidos." % time.strftime('%c', time.gmtime(x_days_ago))) # Now perform the backup. for database_name in database_list : log("Dump iniciado para %s" % database_name) thetime = str(strftime("%Y-%m-%d-%H-%M")) file_name = database_name + '_' + thetime + ".sql.pgdump" # Run the pg_dump command to the right directory command = dumper % (USER, BACKUP_DIR + file_name, database_name) log(command) subprocess.call(command, shell=True) log("Dump terminado para %s" % database_name) log("Tarefa de Backup completa.") Mas ao executá-lo ocorre o seguinte erro: Traceback (most recent call last): File "teste.py", line 25, in <module> database_list = subprocess.Popen('echo "select datname from pg_database" | psql -t -U %s -h %s template1' % USER , shell=True, stdout=subprocess.PIPE).stdout.readlines() TypeError: not enough arguments for format string Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Fevereiro 15, 2013 Denunciar Share Postado Fevereiro 15, 2013 exemplohttp://www.jonstjohn.com/post/25/Simple-Py...r-Backup-Scriptabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Alphak
Olá,
Estou Montando um script em Python, para gerar dump do Postgresql, Segue o Script:
Site fonte script: PostgreSQL Backup script (python)
Mas ao executá-lo ocorre o seguinte erro:Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.