docs & tools: Actualización de informes y scripts de migración DASUTEN
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user