Hoje é um grande dia para Smaug, o roteador! Nessa semana ele não só se consolidou como o meu roteador de estimação como também agora é um mirror do slackware para minha rede interna e para eventuais CDs que gravarei. Utilizando o rsync, o procedimento é bem simples e direto. Ainda assim, para facilitar minha vida de atualização, criei um script que a partir de hoje será executado diariamente verificando e atualizando o mirror. O script está disponível nesse post para leitura on-line ou para download.

O código e os comentários estão em inglês para facilitar o compartilhamento. Para ler a documentação, execute (após descompactá-lo) grep \#\# slackware-mirror Na linha de comando.

#!/bin/bash

# slackware-mirror
# Copyright (C) 2006 Renato "trovao" Cunha

SLACKWARE_RELEASES="slackware-11.0"
SOURCE="rsync://inferno.bioinformatics.vt.edu/slackware/"
OPTIONS="-avzP --delete --delete-after"
#EXCLUDE="source pasture kde kdei zipslack"
DEST="/slackware-mirror/"

case "$1" in
  "check" )
    echo "Checking..."
    for e in $EXCLUDE
    do
      excluded="$excluded --exclude=$e"
    done
    for sr in $SLACKWARE_RELEASES
    do
      $RSYNC $OPTIONS --dry-run ${excluded} "${SOURCE}${sr}" "${DEST}"
    done
    ;;
  "download" )
    echo "Downloading..."
    for e in $EXCLUDE
    do
      excluded="$excluded --exclude=$e"
    done
    for sr in $SLACKWARE_RELEASES
    do
      $RSYNC $OPTIONS ${excluded} "${SOURCE}${sr}" "${DEST}"
    done
    ;;
  * )
    echo "Usage: `basename $0` {check|download}"
    echo -e "\tcheck:    Check for updates"
    echo -e "\tdownload: Download updates"
    exit
    ;;
esac

Related content