95 lines
3.3 KiB
Plaintext
95 lines
3.3 KiB
Plaintext
using DALL;
|
|
using System.Data;
|
|
|
|
// =============================================
|
|
// Configuração da connection string
|
|
// =============================================
|
|
var connectionString = "Server=206.42.13.180;Database=Levelcode-LevelOS;User Id=sa;Password=suasenha;TrustServerCertificate=True;";
|
|
|
|
var backupService = new DALLBackupService(connectionString);
|
|
|
|
// =============================================
|
|
// Backup FULL
|
|
// =============================================
|
|
var resultadoFull = backupService.ExecutarBackupFull();
|
|
|
|
if (resultadoFull.Sucesso)
|
|
Console.WriteLine($"✅ Backup FULL concluído em {resultadoFull.Duracao.TotalSeconds:F1}s");
|
|
else
|
|
Console.WriteLine($"❌ Erro no Backup FULL: {resultadoFull.Erro}");
|
|
|
|
// =============================================
|
|
// Backup DIFERENCIAL
|
|
// =============================================
|
|
var resultadoDiff = backupService.ExecutarBackupDiferencial();
|
|
|
|
if (resultadoDiff.Sucesso)
|
|
Console.WriteLine($"✅ Backup DIFERENCIAL concluído em {resultadoDiff.Duracao.TotalSeconds:F1}s");
|
|
else
|
|
Console.WriteLine($"❌ Erro no Backup DIFERENCIAL: {resultadoDiff.Erro}");
|
|
|
|
// =============================================
|
|
// Limpeza de backups antigos
|
|
// =============================================
|
|
var resultadoLimpeza = backupService.ExecutarLimpeza();
|
|
|
|
if (resultadoLimpeza.Sucesso)
|
|
Console.WriteLine($"✅ Limpeza concluída em {resultadoLimpeza.Duracao.TotalSeconds:F1}s");
|
|
else
|
|
Console.WriteLine($"❌ Erro na Limpeza: {resultadoLimpeza.Erro}");
|
|
|
|
// =============================================
|
|
// Listar histórico de backups
|
|
// =============================================
|
|
var historico = backupService.ListarHistoricoBackups();
|
|
|
|
Console.WriteLine("\n📋 Histórico de Backups:");
|
|
Console.WriteLine($"{"Tipo",-15} {"TamanhoMB",-12} {"Inicio",-22} {"Arquivo"}");
|
|
Console.WriteLine(new string('-', 90));
|
|
|
|
foreach (DataRow row in historico.Rows)
|
|
{
|
|
Console.WriteLine($"{row["Tipo"],-15} {row["TamanhoMB"],-12} {row["Inicio"],-22} {row["Arquivo"]}");
|
|
}
|
|
|
|
// =============================================
|
|
// Restauração FULL + DIFERENCIAL
|
|
// =============================================
|
|
|
|
// Pega o arquivo mais recente do histórico automaticamente
|
|
string arquivoFull = "";
|
|
string arquivoDiff = "";
|
|
|
|
foreach (DataRow row in historico.Rows)
|
|
{
|
|
if (row["Tipo"].ToString() == "FULL" && string.IsNullOrEmpty(arquivoFull))
|
|
arquivoFull = row["Arquivo"].ToString()!;
|
|
|
|
if (row["Tipo"].ToString() == "DIFERENCIAL" && string.IsNullOrEmpty(arquivoDiff))
|
|
arquivoDiff = row["Arquivo"].ToString()!;
|
|
|
|
if (!string.IsNullOrEmpty(arquivoFull) && !string.IsNullOrEmpty(arquivoDiff))
|
|
break;
|
|
}
|
|
|
|
// Restaura FULL
|
|
Console.WriteLine($"\n🔁 Restaurando FULL: {arquivoFull}");
|
|
var r1 = backupService.RestaurarBackup(arquivoFull, TipoRestauracao.Full);
|
|
|
|
if (r1.Sucesso)
|
|
{
|
|
Console.WriteLine($"✅ FULL restaurado em {r1.Duracao.TotalSeconds:F1}s");
|
|
|
|
// Aplica DIFERENCIAL após o FULL
|
|
Console.WriteLine($"🔁 Aplicando DIFERENCIAL: {arquivoDiff}");
|
|
var r2 = backupService.RestaurarBackup(arquivoDiff, TipoRestauracao.Diferencial);
|
|
|
|
if (r2.Sucesso)
|
|
Console.WriteLine($"✅ DIFERENCIAL aplicado em {r2.Duracao.TotalSeconds:F1}s — Banco online!");
|
|
else
|
|
Console.WriteLine($"❌ Erro no DIFERENCIAL: {r2.Erro}");
|
|
}
|
|
else
|
|
{
|
|
Console.WriteLine($"❌ Erro no FULL: {r1.Erro}");
|
|
} |