docs: armonización masiva de bitácoras, categorización de nodos y diagnóstico srv-dasu

This commit is contained in:
Ricardo Monla
2026-03-03 12:04:26 -03:00
parent 4fa6459442
commit ed1c493ff2
171 changed files with 37229 additions and 422 deletions
+57
View File
@@ -0,0 +1,57 @@
# frozen_string_literal: true
# ==========================================================
# FILE: core/globals.rb
# ==========================================================
# --- CONSTANTES GLOBALES DEL SCRIPT ---
APP_NOM_BASE = 'dtic-BKPs'
APP_NOM = "#{APP_NOM_BASE}_app.rb"
APP_VER = 'v5.5.1' # Actualizado
APP_AUTOR = "Ricardo MONLA ( rmonla@ )"
APP_DIR_SCRIPT = File.dirname(File.expand_path(__FILE__))
APP_CFG_NOM_ARCHIVO = "#{APP_NOM_BASE}_tasks.rb"
APP_LOG_NOM_ARCHIVO = "../logs/#{APP_NOM_BASE}.log"
APP_CFG_RUTA_ARCHIVO = File.join(APP_DIR_SCRIPT, APP_CFG_NOM_ARCHIVO)
APP_LOG_RUTA_ARCHIVO = File.join(APP_DIR_SCRIPT, APP_LOG_NOM_ARCHIVO)
# --- COLORES E ICONOS GLOBALES ---
RESET = "\e[0m"; NEGRITA = "\e[1m"; SUBRAYADO="\e[4m"; INTERMITENTE = "\e[5m"
CIAN = "\e[96m"; AMARILLO = "\e[93m"; ROJO = "\e[91m"; VERDE = "\e[92m"
ICONO_OK = "#{VERDE}#{RESET}"; ICONO_ERROR = "#{ROJO}#{RESET}"; ICONO_WARN = "#{AMARILLO}#{RESET}"; ICONO_INFO = "#{CIAN}#{RESET}"
# --- CONFIGURACIÓN GLOBAL ---
# Bloque para configurar el logger directamente aquí
require 'logger' # Asegúrate de que Logger esté cargado
$logger = Logger.new(APP_LOG_RUTA_ARCHIVO, 'daily')
$logger.level = Logger::INFO # Puedes ajustar el nivel de log aquí
$logger.formatter = proc do |severity, datetime, progname, msg|
"[#{datetime.strftime('%Y-%m-%d %H:%M:%S')}] [#{severity}] #{msg}\n"
end
$estadisticas_ejecucion = { tareas_completadas: {} }
# --- FUNCIÓN DE LOGGING GLOBAL ---
def log(nivel, mensaje)
# Usa esta expresión regular más robusta para eliminar códigos ANSI
msg_l = mensaje.gsub(/\e\[(?:\d{1,3}(?:;\d{1,3})*)?[m|K]/, '')
case nivel
when :info then $logger.info(msg_l)
when :error then $logger.error(msg_l)
when :warn then $logger.warn(msg_l)
else $logger.debug(msg_l)
end
end
# Función auxiliar para verificar si un comando existe
def which(cmd)
exts = ENV['PATHEXT'] ? ENV['PATHEXT'].split(';') : ['']
ENV['PATH'].split(File::PATH_SEPARATOR).each do |path|
exts.each { |ext|
exe = File.join(path, "#{cmd}#{ext}")
return exe if File.executable?(exe) && !File.directory?(exe)
}
end
nil
end
+74
View File
@@ -0,0 +1,74 @@
#!/bin/bash
# ==========================================================
# dtic-BKPs - Automatic Backup Processor
# ----------------------------------------------------------
# APP: dtic-BKPs
# FILE: install.sh
# VERSION: v5.5.0 (of the main app)
# AUTHOR: Ricardo MONLA (rmonla@)
# LICENSE: MIT License
# ==========================================================
# --- Colores para la salida ---
CIAN='\033[0;96m'
AMARILLO='\033[0;93m'
VERDE='\033[0;92m'
ROJO='\033[0;91m'
NEGRITA='\033[1m'
NC='\033[0m' # Sin color
# --- Iconos ---
ICONO_OK="${VERDE}${NC}"
ICONO_ERROR="${ROJO}${NC}"
ICONO_INFO="${CIAN}${NC}"
ICONO_WARN="${AMARILLO}${NC}"
echo -e "${NEGRITA}${CIAN}--- Instalador de dtic-BKPs ---${NC}"
# 1. VERIFICAR SI RUBY ESTÁ INSTALADO
echo -e "\n${ICONO_INFO} Verificando si Ruby está instalado..."
if command -v ruby > /dev/null 2>&1
then
# Ruby ya está instalado
RUBY_VERSION=$(ruby -v)
echo -e "${ICONO_OK} Ruby ya está instalado: ${AMARILLO}${RUBY_VERSION}${NC}"
else
# Ruby no está instalado
echo -e "${ICONO_WARN} Ruby no se encuentra en el sistema."
# Manera compatible con 'sh' para pedir entrada
echo -n -e "${AMARILLO}¿Deseas instalar Ruby (a través de 'sudo apt install ruby-full')? (S/N): ${NC}"
read respuesta
# Usamos 'case' en lugar de 'if [[ ... =~ ... ]]' para máxima compatibilidad
case "$respuesta" in
[Ss] | [Ss][Ii]) # Acepta S, s, Si, si
echo -e "\n${ICONO_INFO} Se necesita contraseña de administrador para instalar paquetes."
echo -e "${ICONO_INFO} Actualizando lista de paquetes (sudo apt-get update)..."
sudo apt-get update
echo -e "${ICONO_INFO} Instalando ruby-full..."
sudo apt-get install -y ruby-full
if ! command -v ruby > /dev/null 2>&1
then
echo -e "\n${ICONO_ERROR} La instalación de Ruby falló. Por favor, instálalo manualmente y vuelve a ejecutar este script."
exit 1
fi
echo -e "\n${ICONO_OK} Ruby instalado correctamente."
;;
*)
echo -e "\n${ICONO_ERROR} Instalación cancelada. Ruby es necesario para continuar."
exit 1
;;
esac
fi
# 2. EJECUTAR EL SCRIPT DE INSTALACIÓN DE RUBY
echo -e "\n${ICONO_INFO} Lanzando el instalador de la aplicación (dtic-BKPs_install.rb)..."
echo -e "${CIAN}--------------------------------------------------${NC}"
ruby ./dtic-BKPs_install.rb
exit 0