Información
Actualidad
Aquí encontraras noticias de actualidad sobre Gnu Linux y Open Source.

Además de información sobre la comunidad LiGNUx.
Distribuciones y entornos
Información ordenada sobre los diferenes sistema operativos Gnu Linux y las diferentes opciones de entornos gráficos.
Tutoriales y guías
Todos los pasos e informaciones que puedes desear para tu día a día.
Tutoriales
Tutoriales
Programación
Programación
About Us
Get to know the people behind the code and the mission behind the work
how we handle data
Privacy
Security
Legal

¿Cómo crear un mirror o espejo web?

9 julio, 2015

servidor_internetHoy vamos a ver como se crea un espejo web o mirror de un repositorio abierto.

Para ello debemos de disponer de un vps o servidor y como no, de una fuente de la cual derivaremos la sincronización o replica del servidor (un ejemplo de mirror podría ser el de Firefox).

Obviamente para ello debemos de tener instalado en nuestro servicio "rsync" y como no, conocer las posibles restricciones que tenga el mirror de nivel 1 o del que derivemos la copia, ya que muchos son libres y sin restricciones, pero otros se organizan con conexiones de listas blancas en las que debes de ser aceptado previamente, en otras se dispone de una franja horaria para conectarse y hacer la copia y otro tipo es por niveles, dando un cupo de puestos para cada nivel, con lo que la sincronización de la fuente tal vez esta limitada a 100 ordenadores y el resto se sincronizan a partir de estos de nivel 2.

Después de saber esto seguiremos los tres pasos de a continuación:

1. Crear la carpeta destino que almacenara la información:

Creamos un directorio destino, ya sea por terminal o por una interfaz gráfica y panel de administración.

Por ejemplo si quiero que el destino sea "/var/www/lignux" tendría que introducir en la terminal:

mkdir -p  /var/www/lignux

De esta forma crearía el directorio, obviamente las opciones anteriores también valen.

2. Creamos en la /home de tu servidor o vps un script de sincronización:

En este caso lo llamare .lignux-sync y empleare el esquema del script creado por la comunidad de Manjaro para esta causa:

Puedes descargarlo desde aquí:

#!/bin/bash

# This script should be a cronjob and should be run a few times a day. (example for /etc/crontab: "0  *  *  *  * root /usr/bin/manjaroreposync").
# However you can also move this script to "/etc/cron.hourly".
# To be an official Manjaro Linux mirror and to get access to our rsync server, you have to tell us your static ip of your synchronization server.

DESTPATH="/var/www/lignux"
RSYNC=/usr/bin/rsync
LOCKFILE=/tmp/rsync-lignux.lock

synchronize() {
$RSYNC -rtlvHq --delete-after --delay-updates --safe-links rsync://mirror.lignux.com/lignux-repo "$DESTPATH"
}

if [ ! -e "$LOCKFILE" ]
then
echo $$ >"$LOCKFILE"
synchronize
else
PID=$(cat "$LOCKFILE")
if kill -0 "$PID" >&/dev/null
then
echo "Rsync - Synchronization still running"
exit 0
else
echo $$ >"$LOCKFILE"
echo "Warning: previous synchronization appears not to have finished correctly"
synchronize
fi
fi

rm -f "$LOCKFILE"

Obviamente no os olvidéis de editar los campos en negrita, el primero corresponde al destino que tiene la copia (es el que creamos anteriormente), posteriormente la localización de los archivos temporales y por ultimo la fuente de la cual queremos sincronizarnos y crear un mirror.

3. Ejecutar el script para sincronizar el repositorio con nuestro servidor o vps:

Para ello hemos de conectarnos por ssh y ejecutar el script que anteriormente llame ".lignux-sync":

chmod +x ./.lignux-sync

chmod +x /home/.lignux-sync

/home/.lignux-sync

bash /home/.lignux-sync

Según la configuración que tengas uno de estos comandos iniciara el proceso, cabe destacar que puedes activar un cron para que se actualice automáticamente y no nos olvidemos que la primera sincronización sera la más larga por la descarga de todos los paquetes.

Escrito por Noel

Buenas, me llamo Noel, soy un divulgador y amante del software libre y Gnu Linux.
Usuario inquieto por ver las novedades y dar a conocer a todos las grandes ventajas del software libre y Gnu Linux.

Suscribirse
Notificarme las
guest
3 Comentarios
Los más recientes
Los más antiguos Más votados
Feedbacks en línea
Ver todos los comentarios
LiGNUx trabaja sobre una licencia de Creative Commons Reconocimiento 4.0 Internacional.
cloudflagpaperclipprinterfile-emptyfilm-playcamera-videopicturelaptop-phonebriefcasecrossmenu
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram