Mirror o espejo de sitios web enteros

Seguimos con nuestro hobby (y algo más) de crear una sub red de internet que nos va a servir en caso se caiga internet de forma permanente por el motivo que sea.

Hay páginas web o sitios web enteros que sería conveniente guardar por el interés que tienen no para apropiarse de su contenido si no como archivo, de la misma forma que hace Archive.org.
En el caso caiga internet, es altamente probable que no haya forma de recuperar estas páginas web, no porqué se haya destruido si no por que su servidores no estén al alcance de nuestra red.

Así que vamos a utilizar una herramienta muy poderosa de linux (y todos los otros *nix)

wget -mkEpnp https://sitioweb.com

Esto es todo el comando que hay que dar.

Lo ideal es que te vayas en tu seervidor donde has instalato ISPConfig, creas un nuevo dominio web, por ejemplo https://archivos.tormentasolar.win o alto que te guste, y entras con el terminal en /var/www/archivos.tormentasolar.win/web/ y lanzas el comando de wget de arriba.

En pocos minutos (u horas según el tamaño del sitio web y la velocidad de tu linea) tendrás la carpeta «sitioweb.com» con dentro todas las páginas y multimedia de este dominio. Claramente si hay por ejemplo un video de youtube, esto se enlaza pero no se descarga.

Como que es probable que quiera hacer el archivo de muchos sitios web, tendrás que crear un index primario para que puedas navegar en las varias copias.

Te pongo aquí un simple script donde puedes automatizar la tareas de hacer la copia y crear el index. Tendrás que adaptarlo a tus necesidad y hacer el html un poco más bonito añadiendo elementos gráficos y css.

#!/bin/bash

# cambia la path
cd /var/www/archovos.tormentasolar.win/web

# cambia las urls
########################################
wget -mkEpnp http://sitio1.com/
wget -mkEpnp https://www.sitio2.com/
wget -mkEpnp https://www.sitio3.org/
wget -mkEpnp https://www.sitio4.net

########################################

echo "<!doctype html>

<html lang='es'>
<head>
  <meta charset='utf-8'>
  <title>Archivos</title>
  <meta name='description' content='Copias de Sitios web Importantes'>
</head>
<body>
" > index.html
ls | grep -v "error"  |\
grep -v "favicon.ico" |\
grep -v "index.html"  |\
grep -v "wget-log"    |\
grep -v "robots.txt"  |\
grep -v "stats" > list.tmp
for folder in $(cat list.tmp | grep -v list.tmp); do
    echo "<p><a href='$folder'>$folder</a></p>" >> index.html
done
echo "
</body>
</html>
" >> index.html

y con esto, cuando acabe de hacer las copias,podrás navegar en todos los sitios web desde https://archivos.tormentasolar.win

claramente son copias estáticas, si si el original se actualiza, tu no teendras la actualización hasta que no vuelvas a lanzar el script.

Puedes poner el script en crontab para que actualice solo una vez al semana

Comentarios cerrados.