como fazer um mirror

ola vou tentar fazer um tutorial sobre como espelhar (técnica mirror site) de ficheiros doutros servidores. neste caso vou explicar como fiz um mirror do calculate linux.

nao utilizei acesso por ftp porque acho raro e chato a configuracao.

optei partilhar os ficheiros via http a partir do nginx
fica aqui uma simples config
mirror_calculate.conf

location / {
    root /pasta_mirror/calculate_linux;
        autoindex on;
        autoindex_exact_size off;
        autoindex_localtime off;
        }

esquece o apache…

para fazer os downloads dos varios ficheiros do repositorio do calculate linux encontrei este site http://mirror.yandex.ru/calculate

depois de algum tempo o tamanho total utilizado em disco rigido: 93gb

utilizei o rsync via cron job.

e possivel deixar este script na pasta cron.hourly e de hora em hora vai se actulizado a coisa…

#!/bin/bash

DESTPATH="/PASTA/DESTINO"
RSYNC=/usr/bin/rsync
LOCKFILE=/tmp/FICHEIRO-DA-CENA.lock



synchronize() {
    $RSYNC -rtlvH --delete-after --delay-updates --safe-links rsync://mirror.yandex.ru/calculate "$DESTPATH"
}



if [ ! -e "$LOCKFILE" ]
then
    echo $$ >"$LOCKFILE"
    synchronize
else
    PID=$(cat "$LOCKFILE")
    if kill -0 "$PID" >&/dev/null
    then
        echo "isto do download via Rsync - continua em execucao...espera filho"
        exit 0
    else
        echo $$ >"$LOCKFILE"
        echo "ATENCAO: anterior sincronizacao nao foi completada com sucesso"
        synchronize
    fi
fi

rm -f "$LOCKFILE"