107 lines
3.4 KiB
Ruby
107 lines
3.4 KiB
Ruby
#!/usr/bin/env ruby
|
|
# frozen_string_literal: true
|
|
|
|
require 'tiny_tds'
|
|
require_relative 'drones/lib/dasu_executor'
|
|
|
|
puts "=== VERIFICANDO BACKUP EN DASU-SQL4 ==="
|
|
puts ""
|
|
|
|
# ==========================================
|
|
# 1. FENIX - Verificar datos actuales
|
|
# ==========================================
|
|
puts "[1] FENIX - Estado actual de BonosAfiliado:"
|
|
|
|
pass_cmd = `ruby adn/tools/candados/candados.rb get utnlarioja.intranet:monlaricardo 2>/dev/null`.strip
|
|
sql_user = 'UTNlarioja\\monlaricardo'
|
|
sql_host = '10.0.10.200'
|
|
|
|
client_fenix = TinyTds::Client.new(
|
|
username: sql_user,
|
|
password: pass_cmd,
|
|
host: sql_host,
|
|
timeout: 600,
|
|
database: 'sysdasuten'
|
|
)
|
|
|
|
# Última fecha y registros del 15
|
|
result = client_fenix.execute("SELECT MAX(fecha) as ultima FROM BonosAfiliado")
|
|
puts " Última fecha: #{result.first['ultima']}"
|
|
|
|
result = client_fenix.execute("SELECT COUNT(*) as c FROM BonosAfiliado WHERE fecha = '2026-04-15'")
|
|
puts " Registros el 2026-04-15: #{result.first['c']}"
|
|
|
|
# Ver IDs máximos
|
|
result = client_fenix.execute("SELECT MAX(idsolicitud) as max_id FROM BonosAfiliado")
|
|
puts " ID máximo en FENIX: #{result.first['max_id']}"
|
|
|
|
client_fenix.close
|
|
|
|
# ==========================================
|
|
# 2. DASU-SQL4 - Verificar datos del backup
|
|
# ==========================================
|
|
puts "\n[2] DASU-SQL4 - Datos del backup restaurado:"
|
|
|
|
ps_script = <<~PSCMD.strip
|
|
$ErrorActionPreference = "Stop"
|
|
$connString = "Server=localhost;Database=sysdasuten;Integrated Security=true;TrustServerCertificate=yes;"
|
|
$conn = New-Object System.Data.SqlClient.SqlConnection($connString)
|
|
$conn.Open()
|
|
|
|
Write-Host " Última fecha en BonosAfiliado:"
|
|
$cmd = New-Object System.Data.SqlClient.SqlCommand("SELECT MAX(fecha) as ultima FROM BonosAfiliado", $conn)
|
|
try {
|
|
$ultima = $cmd.ExecuteScalar()
|
|
Write-Host " $ultima"
|
|
} catch {
|
|
Write-Host " ERROR: $_"
|
|
}
|
|
|
|
Write-Host " Registros el 2026-04-15:"
|
|
$cmd = New-Object System.Data.SqlClient.SqlCommand("SELECT COUNT(*) as c FROM BonosAfiliado WHERE fecha = '2026-04-15'", $conn)
|
|
try {
|
|
$c = $cmd.ExecuteScalar()
|
|
Write-Host " $c"
|
|
} catch {
|
|
Write-Host " ERROR: $_"
|
|
}
|
|
|
|
Write-Host " ID máximo en BonosAfiliado:"
|
|
$cmd = New-Object System.Data.SqlClient.SqlCommand("SELECT MAX(idsolicitud) as max_id FROM BonosAfiliado", $conn)
|
|
try {
|
|
$maxId = $cmd.ExecuteScalar()
|
|
Write-Host " $maxId"
|
|
} catch {
|
|
Write-Host " ERROR: $_"
|
|
}
|
|
|
|
# Ver fecha de restore en msdb
|
|
Write-Host "`n Último restore:"
|
|
$cmd = New-Object System.Data.SqlClient.SqlCommand("SELECT TOP 1 restore_date, backup_start_date FROM msdb.dbo.restorehistory WHERE destination_database_name = 'sysdasuten' ORDER BY restore_date DESC", $conn)
|
|
$adapter = New-Object System.Data.SqlClient.SqlDataAdapter($cmd)
|
|
$ds = New-Object System.Data.DataSet
|
|
$adapter.Fill($ds)
|
|
if ($ds.Tables[0].Rows.Count -gt 0) {
|
|
$row = $ds.Tables[0].Rows[0]
|
|
Write-Host " Restore date: $($row.restore_date)"
|
|
Write-Host " Backup start: $($row.backup_start_date)"
|
|
}
|
|
|
|
$conn.Close()
|
|
PSCMD
|
|
|
|
DasuExecutor.execute_ps_on_dasu(ps_script)
|
|
|
|
puts "\n[3] ARCHIVOS DE BACKUP EN DASU-SQL4:"
|
|
ps_script = <<~PSCMD.strip
|
|
Get-ChildItem "F:\\BACKUP\\*.bak" | ForEach-Object {
|
|
Write-Host " $($_.Name)"
|
|
Write-Host " LastWriteTime: $($_.LastWriteTime)"
|
|
Write-Host " CreationTime: $($_.CreationTime)"
|
|
}
|
|
PSCMD
|
|
|
|
DasuExecutor.execute_ps_on_dasu(ps_script)
|
|
|
|
puts "\n✅ Verificación completada"
|