Como fazer backup de pasta remota com FreeNAS?

como-fazer-backup-de-pasta-remota-com-freenas

Fazer backup de suas pastas remotas com o FreeNAS pode ser um valiosa ajuda, em especial quando se tem muitas pastas compartilhadas em seu servidor, então nada melhor do que manter essa informações seguras para casos de imprevistos, afina a gente nunca sabe o que pode acontecer.

Tendo em vista que a cada dia os servidores estão sendo cada vez mais usados, e as informações não mais estão sendo armazenada em pequenas redes locais, é preciso fazer os famosos e até chamados de trabalhosos backups, e pensando na mudança de armazenamento local para grandes redes e até nuvens, você vai ver como fazer backup de pasta remota com FreeNAS, é simples.

Como fazer backup de pasta remota com FreeNAS

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

Apesar de não existir uma opção pronta na interface web do FreeNas, o nosso grande amigo Terminal está a nossa disposição e vai facilitar na hora de ajustar os backups.

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:

#!/bin/sh
# 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!”

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:

Conteúdo do arquivo .nsmbrc

[FILESERVER01:BACKUP_USR]
password=S3nha

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