Backup Remoto

Hoje vamos falar de backup. Normalmente temos servidores de arquivos com várias pastas compartilhadas em nossa rede. Precisamos ter uma cópia disso a salvo concordam?

Bom, se seus servidores de arquivos são window$, infelizmente não podemos recorrer ao rsync ou copiar via ssh (pelo menos não de graça). Então o que fazer?

Estamos em um free bsd oras! Apesar de não existir uma opção pronta na interface web do FreeNas, o nosso grande amigo Terminal está a nossa disposição.

Vamos ao cenário:

·         Servidor de base de dados realiza backup local;

·         Há uma pasta local compartilhada para que o Sys Admin possa copiar os arquivos para sua máquina;

·         O backup é feito manualmente;

Bom, o Sys Admin agora tem um terminal Bsd na mão e pode automatizar tarefas. Eis o Script comentado:

[code type="Conteúdo do arquivo script"]#!/bin/csh
# criar arquivo .nsmbrc na home do usuario que vai executar o script
#Montando pasta remota em ponto de montagem temporario (os arquivos serao copiados daqui)
# o parametro -W informa o dominio ou grupo de trabalho. usar netbiosname no caminho do compartilhamento. mount_smbfs -N -W sempreupdate -I 192.168.100.20 //backup_usr@fileserver01/master /mnt/tank/tmp echo “Pasta remota montada!”
# echo “Gerando nomenclatura” set backup = bkp-`date +%d-%m-%Y`.tar.gz
#
# diretorios para quardar os backups set backup_path = /mnt/tank/backup/
#
#Setando o ponto de montagem da pasta remota para copia dos arquivos
set path_bkp = /mnt/tank/tmp/
#
echo “acessando pasta a ser copiada”
cd $path_bkp
echo “Executando backup da pasta mmq…”
tar -zcPf $backup_path/$bkp *
echo “Arquivo $bkp criado!”
#
#Saindo da pasta para liberar todas as travas e desmontando pasta remota
cd /
umount /mnt/tank/tmp
echo “Pasta remota desmontada!”
echo “ok!”[/code]


Reparem que em momento algum utiliza-se usuário e senha nesse script. Conforme o comentário na segunda linha, você deve criar um arquivo que vai manter essas credenciais acessíveis apenas para o root, que no caso irá rodar o script via cron. Este arquivo deve ficar assim:

[code type="Conteúdo do arquivo .nsmbrc"][FILESERVER01:BACKUP_USR] password=S3nha[/code]

Você pode armazenar várias credenciais para usar em outros scripts.

A sintaxe básica é “nome_do_server:nome_de_usuario” entre colchetes e “password=senha_do_usuario” na linha abaixo.

 

Para inserir na crontab do freenas utilize o menu lateral – Sistema ->Cron jobs

Atila Aloise de Almeida

Atila Aloise de Almeida, Bacharel em Sistemas de Informação, Pós-graduado em Segurança de Redes e Sistemas de informação, Programador WEB, Músico, entusiasta do software livre e da comunidade Open Source. Atualmente Gerencia a Infraestrutura de redes e servidores de um grupo de oito empresas utilizando ferramentas livres, desenvolve Sites voltados a portais de notícia e atua como consultor de infraestrutura e segurança tecnológica.

Mais recentes de Atila Aloise de Almeida