Files
feadulta/mirror-antiguo/scripts/11-validate-sample.sh
rafa 275aff1430 Mirror del Joomla antiguo: versionar los scripts y reponer los assets que faltaban
Los scripts del mirror (00-90) vivian solo en el disco. Van al repo; los datos que
generan no (16 GB entre crawl, snapshot del origen y Joomla restaurado) -> .gitignore.

Nuevo 91-repone-assets404.sh: repone los ficheros que el crawl no capturo porque se
referencian SOLO desde CSS y el crawler seguia enlaces HTML (system.css, los fondos de
fe_adulta_1, ratingstars.gif de K2). Salian como 404 en los logs de nginx del Hetzner.

Descarga por HTTP desde el Joomla local aislado, nunca del filesystem -- mismo principio
que el crawl, para no arrastrar los .php comprometidos del #183 -- y escanea PHP embebido
antes de copiar a site/.

Resultado sobre las 286 rutas unicas con 404 del log: 196 repuestas y verificadas en
produccion (196/196 en 200 tras el rsync), 82 que dan 301->404 tambien en el origen (ya
estaban rotas en la web original) y 8 rutas basura /%22/... de HTML mal formado.

Refs #180

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 14:04:31 -04:00

28 lines
981 B
Bash

#!/bin/bash
# Valida una muestra aleatoria del inventario contra el Joomla local y mide tiempos
set -uo pipefail
BASE=/home/rafa/joomla-migration/mirror-antiguo
INV=$BASE/inventory
N=${1:-40}
H='Host: antiguo.feadulta.com'
tmp=$(mktemp)
shuf -n "$N" "$INV/urls-input.txt" > "$tmp"
ok=0; bad=0; tot=0
start=$(date +%s.%N)
while read -r u; do
path=${u#http://antiguo.feadulta.com}
read -r code t size < <(curl -s -o /dev/null -w '%{http_code} %{time_total} %{size_download}' -H "$H" "http://127.0.0.1:8086$path"; echo)
tot=$(echo "$tot + $t" | bc)
if [ "$code" = "200" ]; then ok=$((ok+1)); else bad=$((bad+1)); printf 'FALLO %s %s %s\n' "$code" "$t" "$path"; fi
done < "$tmp"
end=$(date +%s.%N)
echo "---"
echo "muestra=$N 200=$ok no200=$bad"
echo "tiempo medio por peticion: $(echo "scale=3; $tot / $N" | bc) s"
echo "wall: $(echo "scale=1; $end - $start" | bc) s"
echo "estimacion 25437 URLs a 1 hilo: $(echo "scale=1; $tot / $N * 25437 / 3600" | bc) h"
rm -f "$tmp"