public static void ExecutarBackup(Configs configuracoes, Base b, string listaObjetos) { string caminhoXPZ = ""; caminhoXPZ += configuracoes.CaminhoLocalBackup + (configuracoes.CaminhoLocalBackup.EndsWith(@"\") ? "" : @"\"); //caminhoXPZ += Common.NomeXPZ(configuracoes.NomeProgramador, ProcessadorXml.ObterNomeBanco(b.Caminho)); caminhoXPZ += Common.NomeXPZ(ProcessadorXml.ObterNomeBanco(b.Caminho)); string argumentos = "\"" + Common.CaminhoScriptMSBUILD + "\"" + " /p:InstalacaoGenexus=\"" + b.VersaoGeneXus + "\";CaminhoXPZ=" + caminhoXPZ.Trim() + ";CaminhoKB=" + b.Caminho.Trim() + ";ExportarTudo=" + b.BackupKBInteira.ToString().Trim() + (listaObjetos.Trim() != "" ? ";ListaObjetos=\"" + listaObjetos.Trim() + "\"" : ""); ProcessStartInfo psi = new ProcessStartInfo { FileName = Common.CaminhoMSBUILD, Arguments = argumentos }; Process.Start(psi).WaitForExit(); if (File.Exists(caminhoXPZ) && configuracoes.NomePastaRede.Trim() != "") { Arquivos.MoverArquivo(caminhoXPZ, configuracoes); } }
public static List <string> Executar(Configs configuracoes, bool desligarNoFinal) { List <string> retorno = new List <string>(); if (configuracoes.Bases.Count <= 0) { retorno.Add("Selecione ao menos uma base para realizar o backup!"); } if (configuracoes.Servidor.Trim() == "") { retorno.Add("Informe o servidor do SQL Server (sua máquina local)!"); } if (!configuracoes.AutenticacaoWindows) { if (configuracoes.Usuario.Trim() == "") { retorno.Add("Informe o usuário para conexão ao SQL Server!"); } if (configuracoes.Senha.Trim() == "") { retorno.Add("Informe a senha para conexão ao SQL Server!"); } } if (configuracoes.CaminhoLocalBackup.Trim() == "") { retorno.Add("Informe o caminho local para salvar o XPZ!"); } if (configuracoes.QuantidadeDiasBackup <= 0) { retorno.Add("Deve ser feito o backup contando pelo menos 1 dia para trás!"); } if (retorno.Count <= 0) { string connectionString = ""; connectionString += "Server=" + configuracoes.Servidor.Trim() + ";"; if (!configuracoes.AutenticacaoWindows) { connectionString += "User Id=" + configuracoes.Usuario.Trim() + ";"; connectionString += "Password="******";"; } else if (configuracoes.AutenticacaoWindows) { connectionString += "Integrated Security=true;"; } using (SqlConnection cnn = new SqlConnection(connectionString)) { cnn.Open(); foreach (Base b in configuracoes.Bases) { string listaObjetos = DataBase.ExecutarComandos(ProcessadorXml.ObterNomeBanco(b.Caminho), configuracoes.QuantidadeDiasBackup, cnn); if (listaObjetos.Trim() != "") { Prompt.ExecutarBackup(configuracoes, b, listaObjetos); } } } if (!configuracoes.DesabilitarDesligamento) { if (desligarNoFinal) { Prompt.DesligarMaquina(); } } } return(retorno); }