62 lines
1.8 KiB
Ruby
62 lines
1.8 KiB
Ruby
#!/usr/bin/env ruby
|
|
# frozen_string_literal: true
|
|
|
|
require 'tiny_tds'
|
|
require_relative 'drones/lib/dasu_executor'
|
|
|
|
puts "=== VERIFICANDO BACKUPS EN FENIX (E:\\BK_SQL\\sysdasuten\\) ==="
|
|
puts ""
|
|
|
|
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 = TinyTds::Client.new(
|
|
username: sql_user,
|
|
password: pass_cmd,
|
|
host: sql_host,
|
|
timeout: 600,
|
|
database: 'sysdasuten'
|
|
)
|
|
|
|
# Listar backups en E:\BK_SQL\sysdasuten\
|
|
ps_script = <<~PSCMD.strip
|
|
$ErrorActionPreference = "Stop"
|
|
|
|
$path = "E:\\BK_SQL\\sysdasuten"
|
|
|
|
if (Test-Path $path) {
|
|
$backups = Get-ChildItem "$path\\sysdasuten*.bak" | Sort-Object LastWriteTime -Descending
|
|
|
|
Write-Host "Archivos encontrados:"
|
|
$backups | ForEach-Object {
|
|
$sizeMB = [math]::Round($_.Length / 1MB, 2)
|
|
Write-Host " $($_.Name) - ${sizeMB} MB - $($_.LastWriteTime)"
|
|
}
|
|
|
|
Write-Host "`nTotal archivos: $($backups.Count)"
|
|
$totalSize = ($backups | Measure-Object -Property Length -Sum).Sum / 1MB
|
|
Write-Host "Total tamaño: $([math]::Round($totalSize, 2)) MB"
|
|
|
|
# Si hay más de 1, eliminar los viejos
|
|
if ($backups.Count -gt 1) {
|
|
$aEliminar = $backups | Select-Object -Skip 1
|
|
Write-Host "`n=== ELIMINANDO $($aEliminar.Count) ARCHIVOS ==="
|
|
$aEliminar | ForEach-Object {
|
|
Write-Host " Eliminando: $($_.Name)"
|
|
Remove-Item $_.FullName -Force
|
|
}
|
|
|
|
$restantes = Get-ChildItem "$path\\sysdasuten*.bak" | Sort-Object LastWriteTime -Descending
|
|
Write-Host "`nRestantes: $($restantes.Count)"
|
|
}
|
|
} else {
|
|
Write-Host "El directorio no existe"
|
|
}
|
|
PSCMD
|
|
|
|
result = client.execute("EXEC xp_cmdshell 'powershell -Command \"' + ps_script.gsub('\"', '\"\"') + '\"'")
|
|
result.each { |r| puts r['output'] if r['output'] }
|
|
|
|
client.close
|