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
+56
View File
@@ -0,0 +1,56 @@
# frozen_string_literal: true
# ==========================================================
# dtic-BKPs/lib/sync_rclone.rb — Sincronización rclone
# ==========================================================
#
# NOTA: Se eliminó la estrategia subdirectories-first que existía
# en dtic-BKPs. Con --delete-before rclone ya libera el espacio
# remoto antes de transferir, haciendo innecesario el loop por
# subdirectorios. El sync root único es suficiente y más eficiente.
require 'shellwords'
module DTICBKPs
module Procesador
class Rclone
RCLONE_OPTS = %w[
--delete-before
--retries 5
--retries-sleep 10s
--timeout 30m
--contimeout 10m
--tpslimit 10
--progress
-v
].join(' ').freeze
def initialize(log)
@log = log
end
def ejecutar(tarea)
@log.titulo(tarea[:texto])
origen = tarea[:origen]
destino = tarea[:destino]
@log.paso("Origen: #{origen}")
@log.paso("Destino: #{destino}")
cmd = "rclone sync #{Shellwords.escape(origen)} #{Shellwords.escape(destino)} #{RCLONE_OPTS}"
@log.info("#{tarea[:id]}: Ejecutando → #{cmd}")
exito = system(cmd)
codigo = $?.exitstatus
if exito
@log.ok("Sincronización rclone completada.")
else
@log.error("#{tarea[:id]}: Fallo en sincronización (código: #{codigo}).")
end
exito
end
end
end
end