Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

alissong

Backup postgres versão 8.01 em VB06

Recommended Posts

Pessoal,Criei esse arquivo bat para executar o pgdump do POSTGRESQL v.8.01, mas não estou estabendo capturar a data do sistema atual para nomear o arquivo de backup.Exemplo: Gostaria que o arquivo fosse assim - compra160207.sql Portanto, isso é possível. @echo offPRINT DATE$clsecho COMPRAS V1.0 - Backup dos Dados no Disco R¡gidoecho.echo Aguarde...echo.cd \Arquivos de programas\cd PostgreSQL\cd 8.1cd binpg_dump -U postgres compra > c:\backup\compra.sqlcd\clsecho Processamento realizado...exitAlguém pode ajudar-me.Um abraço............

Compartilhar este post


Link para o post
Compartilhar em outros sites

Babada assim você não encontrará em lugar nenhum. Criei um scriptzinho que te ajudará em sua tarefa:' Inicio do scriptDim fso, pathName, fileName, file, specLine, wsh, diaFmtdiaFmt = Right((0 & Day(Date)), 2) & Right((0 & Month(Date)), 2) & Right((Year(Date)), 2)Set fso = CreateObject("Scripting.FileSystemObject")pathName = Left(WScript.ScriptFullName, Instr(WScript.ScriptFullName, WSCript.ScriptName)-1)fileName = pathName & "postbackup.bat"file = fso.CreateTextFile(filename, True)specLine = "pg_dump -U postgres compra > c:\backup\compra" & diaFmt & ".sql"file.WriteLine("cd \Arquivos de Programas\PostgreSQL\8.1\bin")file.WriteLine(specLine)file.WriteLine("cd\")file.WriteLine("exit")file.CloseSet wsh = CreateObject("WScript.Shell")wsh.Exec(filename)msgbox "Arquivo de backup gerado com sucesso", , "Backup PostgreSQL"fso.Deletefile(filename)Set fso = NothingSet wsh = Nothing' Fim do scriptCopie e cole esse texto e salve com extensão .vbs. Então, é só executar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alexandrehdk,Salve esse código com nome backup.vb script: c:\Documents and settings\compras\desktop\backup.vbsLinha: 8Caract.: 1Erro: O objeto não dá suporte para a propriedade ou métodoCódigo: 800A01B6Origem: Erro de tempo de execução do microsft vbscript

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alexandrehdk,Salve esse código com nome backup.vb script: c:\Documents and settings\compras\desktop\backup.vbsLinha: 8Caract.: 1Erro: O objeto não dá suporte para a propriedade ou métodoCódigo: 800A01B6Origem: Erro de tempo de execução do microsft vbscript

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alexandrehdk,Você é fera mesmo, ficou excelenteeeeeeeeeeeee.......Veja o código completo:' Inicio do scriptDim fso, pathName, fileName, file, specLine, wsh, diaFmtdiaFmt = Right((0 & Day(Date)), 2) & Right((0 & Month(Date)), 2) & Right((Year(Date)), 2)Set fso = CreateObject("Scripting.FileSystemObject")pathName = Left(WScript.ScriptFullName, Instr(WScript.ScriptFullName, WSCript.ScriptName)-1)fileName = pathName & "postbackup.bat"Set file = fso.CreateTextFile(filename, True)specLine = "pg_dump -U postgres compra > c:\backup\compra" & diaFmt & ".sql"file.WriteLine("cd \Arquivos de Programas\PostgreSQL\8.1\bin")file.WriteLine(specLine)file.WriteLine("cd\")file.WriteLine("exit")file.closeSet wsh = CreateObject("WScript.Shell")wsh.Exec(filename)msgbox "Arquivo de backup gerado com sucesso", , "Backup PostgreSQL"Set fso = NothingSet wsh = Nothing' Fim do scriptAlexandre, quando executo o script gera um arquivo postbackup.bat que é responsável pela geração do backup. Portanto, esse mesmo script não poderia abrir o arquivo posbackup.bat também ao executá-lo.Um abraço..Alisson

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem, ele já está fazendo isso (executar o .bat), na linha:wsh.Exec(filename)O que você pode fazer é após executar também deletar o arquivo .bat, só para garantir que não vai acontecer nenhuma besteira:...msgbox "Arquivo de backup gerado com sucesso", , "Backup PostgreSQL"fso.DeleteFile(filename)...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alexandre,Até momento, não conseguir gerar o backup no postgresql usando pgdump.exe sem senha, então se incluo esse linha fso.DeleteFile(filename) o backup é executado, mas não contendo dados, pois não conectou ao banco de dados. Se souber como incluir a senha sem que o arquivo.bat peça. Isso seria a solução do meu problema.Um abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se isso vai funcionar. É meio arriscado, mas...Tente usar algo do tipo:specLine = "echo password | pg_dump -U postgres -W compra > c:\backup\compra" & diaFmt & ".sql"Você estará usando um pipe do DOS (jogando a saída de um programa em outro). No caso, você estará jogando o resultado do comando "echo", que simplesmente repete o argumento de entrada para o programa pg_dump, que acredito que a primeira coisa que faz é esperar o usuário digitar a senha. No mysql é assim, e pela documentação do pg_dump, com a opção -W forçamos esse pedido de senha. Substitua "password" pela senha que você usa.É arriscado porque compromete a senha, caso dê algum erro e o arquivo .bat acabe não sendo apagado...-------------------------------------------------------Complementando depois------------------------------------------------------Ih, no mysql não deu certo. Acabei de checar. Estou sem idéias....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alexandre,Muito obrigado, mesmo você ajudou-me demais.Usava isso no mysql, pois existem muitas ferramentas para fazer backup,consulta e tabelas para esse banco. Portanto, quando mudei para versão 4.1.11 o mysql não mais conectou via IP, somente localhost. Por isso que passei a usar o POSTGRES Versão 8.01 para windows. Esse comando que usava para fazer backup no mysql com arquivo bat.C:\apache2triad\mysql\bin\mysqldump -u root -pXXXX --databases fornecedor >a:\backup_fornecedor.sqlexitEspero que ajude alguém.Um abraço.Vamos manter contato: e-mail: nossilasantana@zip.com.brNão sou programador profissional, apenas um contador passando por programador.Conheço as linguagens e bancos básicos: vb, php, access 97/200, mysql e postgres.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.