Terça-feira, 2 de Setembro de 2008

howto - DNS-323 ou CH3SNAS "Maquina do Tempo para copias de Segurança"

Este é mais um howto, desta vez utilizado um fantastico metodo de copias de segurança, que eu até a bem pouco tempo atrás não fazia a minima ideia que fosse possivél, Maquina do Tempo só em Filmes!

INTRODUÇÃO - Atravês da configuração Web, qualquer destes NAS ( DNS-323 ou CH3SNAS ), possue ja os seus meios propriatarios para fazer copias de segurança dos seus dados, quer nos modos RAID disponiveis, quer na agenda de tarefas da sua configuração web.
Assim e no meu caso, tenho os 2 discos em modo standard, acho que o RAID0 e sempre muito arriscado caso um disco falhe, e o RAID1, não quero perder um disco inteiro só para copias, e a agenda de tarefas não funciona da melhor maneira quando se trata de copiar varios GB e inumeros ficheiros.

Então e se existisse a possibilidade de agendar copias automaticas de algumas pastas dos disco, e que se no meio de uma dessas copias houve-se algum documento danificado ou corrompido que nao desse para voltar a utilizar? Acontece e muitas vezes com listas de Excel, a solução era recuar no tempo até a versão que estivesse boa, pois bem siga estes passos:

1 - Deve ja de ter acesso ao NAS por Telnet, e com o Fun_plug0.5 instalado

2 - E com um editor de texto ( No Windows, utilize o Bloco de Notas), copie e cole o seguinte script:

#!/bin/sh

srcpath="/mnt/HD_a2/Media"
dstpath=/mnt/HD_b2/Backups
date=`date "+%Y%m%d_%H%M%S"`
mkdir $dstpath/$date
/mnt/HD_a2/ffp/bin/rsync -aivx --link-dest=$dstpath/current $srcpath $dstpath/$date > $dstpath/$date/rsync.log 2>&1
if [ -s $dstpath/$date/rsync.log ]
then
rm $dstpath/current
ln -s $date $dstpath/current
fi

3 - Voçe pode e deve editar o script e colocar as pastas que quer copiar EX:

srcpath="/mnt/HD_a2/Media, /mnt/HD_a2/Videos"

No exemplo estou a copiar as pastas Media e Videos do Volume1 ( atenção aos , e " caso mais de uma pasta)

O Destino é o Volume2 EX:

dstpath=/mnt/HD_b2/Backups

Finalmente e depois de acertar as suas pastas no script, salve-o com o nome snapshot.sh ( Atenção que a extenção não pode ser TXT, só .sh )

5 - O Segundo Script, copie e cole, salvando com o nome cronedit.sh, que é este :

#!/bin/sh

CRONTXT=/mnt/HD_a2/crontab.txt
# start with existing conrontab
/bin/crontab -l > $CRONTXT
# add the snapshot command
/bin/echo "00 4 * * 1 /mnt/HD_a2/ffp/bin/snapshot.sh" >> $CRONTXT
# install the new crontab
/bin/crontab $CRONTXT
# clean up
/bin/rm $CRONTXT


Neste script, a tarefa é executada sempre as 4H da manhã, no primeiro dia da semana ( é um copia semanal ) - Pode-se fazer copias diarias ou mensais e mudar também a hora, para isso só precisa editar aqui :

00 4 * * 1

Conforme :









6 - Depois coloque os 2 scripts na raiz do disco do Volume1 do seu NAS

7 - Abra uma sessão de Telnet e digite os seguintes comandos na consola, vamos colocar os scripts nos directorios correctos :

mv /mnt/HD_a2/snapshot.sh /mnt/HD_a2/ffp/bin/
mv /mnt/HD_a2/cronedit.sh /mnt/HD_a2/ffp/start/


e vamos dar permissão para a tarefa cron correr :

chmod a+x /mnt/HD_a2/ffp/start/cronedit.sh

finalmente reinicie o NAS:

reboot

8 - Nova sessão de Telnet e vamos confirmar se a tarefa foi correctamente agenda atravês do seguinte comando :

crontab -l

Verá varias outras tarefas do proprio sistema, juntamente com a snapshot.sh.

No Final e após varias semanas de copias de segurança verá algo como isto no seu Volume2, pasta Backups :

current
20080901_040000
20080908_040000
20080915_040000


Aqui voçe pode apagar qualquer ficheiro de qualquer semana, ou recuperar qualquer ficheiro de qualquer semana!!! E isto tudo sem afectar a proxima copia de segurança. QUE GRANDE ESPECTACULO!!

Nota : O Primeira copia de segurança a efectuar pelo sistema, será sempre todos os ficheiros e GB que antes definimos no nosso script, na segunda copia o sistema só copiará os ficheiros que foram alterados!! Cada copia posterior só terá a actualização dos HARD LINKS, e crescerá uns insignificates MB, caso não sejam adicionados novos ficheiros entre as semanas.

Hard-Links, é um metodo de copia do rysnc, em que o sistema re-conta os ficheiros e que ficheiros iguais partilham sempre o mesmo espaço em disco até existir o hard-link, INCRIVÉL.

É ISTO FUNCIONA BEM MAS BEM.

Um Obrigado ao raid123, por esta "Maquina do Tempo", vai ser muito dificil eu voltar a perder algum documento.

NOTA-FINAL : Se utiliza o Windows para criar os scripts, mesmo com o bloco de notas já existiram alguns problemas, assim use o Notepad++ e no Menu Format > Convert to UNIX Format.

0 Comentarios!: