Notícias sobre Ubuntu, Debian, Fedora, Linux, Android, Tecnologia, LibreOffice e muito mais!

Implementando backup no Samba 4

Backup do AD com base no Linux Debian 8.7 usando Samba 4 - Método oficial

Seguindo a linha de instalação do Samba por repositórios no Debian 8, postado aqui ficamos sem o suporte á backup no serviço (não confundir com backups de dados de servidor de arquivos), pois ainda não é contemplado na instalação via apt-get. Porém, no pacote oficial do Samba 4, baixado do site https://www.samba.org/ podemos encontrar os scripts básicos para o backup no Samba 4. Basta descobrirmos como inserir o modelo ao nosso ambiente. Podemos usar como referência o site oficial em https://wiki.samba.org/index.php/Back_up_and_Restoring_a_Samba_AD_DC

MÃO NA MASSA

Existem alguns diretórios e arquivos dentro do Samba 4 apontados por default no smb.conf, que guardam informações e configurações importantes, como por exemplo as configurações de GPO, o banco de dados do AD, o arquivo que define os compartilhamentos, entre outras. Veremos como criar diretórios, setar permissões, alterar caminhos e rodar os scripts de backup no Samba 4 de forma automática. Poderemos encontrá-los facilmente com os comandos:

 # find / -iname sysvol

Deve constar:

/var/lib/samba/sysvol

Agora procuramos pelo diretório private:

# find / -iname private

Deve constar:

/var/lib/samba/private

Então buscamos pelo arquivo smb.conf:

# find / -iname smb.conf

Deve constar:

 /etc/samba/smb.conf

É necessário fazer a cópia prévia dos diretórios, antes de rodarmos os scripts de backup, mantendo as permissões dos mesmos, para um diretório de nossa escolha. Sugiro algum diretório com backup agendado!

 # mkdir /home/DADOS/samba
 # cp -rfvp /var/lib/samba/sysvol /home/DADOS/samba
 # cp -rfvp /var/lib/samba/private /home/DADOS/samba
 # cp -rfvp /etc/samba /home/DADOS/samba

Baixamos o código fonte do Samba 4, para a captura dos scripts de backup:

 # cd /usr/src
 # wget http://ftp.samba.org/pub/samba/samba-latest.tar.gz
 # tar -xvzf samba-latest.tar.gz

Buscamos os scripts disponibilizados pela equipe do Samba com o comando:

 # find / -iname samba_backup

Devemos visualizar o caminho:

/usr/src/samba-4-6.5/source4/scripting/bin/samba_backup

Buscamos o aplicativo que salva a base de dados do AD:

# find / -iname tdbbackup

Devemos visualizar o caminho:

/var/lib/dpkg/alternatives/tdbbackup

Copiamos os arquivos para o diretório de execução do root:

 # cp /usr/src/samba-4-6.5/source4/scripting/bin/samba_backup /sbin
 # cp /var/lib/dpkg/alternatives/tdbbackup /sbin

Agora, é necessário editar o script de backup original, para se adequar ao nosso ambiente, apontando para as paths que criamos antes, manualmente:

 # vim /sbin/samba_backup

Alteramos no início do script a path:

 FROMWHERE=/usr/local/samba
 WHERE=/usr/local/backups

Para:

 FROMWHERE=/home/DADOS/samba
 WHERE=/home/DADOS/samba/backups

ATENÇÃO: Criaremos o caminho citado acima:

# mkdir /home/DADOS/samba/backups

Setamos as permissões dos scripts para rodarem sem problemas:

 # chown root:root /sbin/samba_backup
 # chown root:root /sbin/tdbbackup
 # chmod 750 /sbin/samba_backup
 # chmod 750 /sbin/tdbbackup
 # chmod +x /sbin/samba_backup
 # chmod +x /sbin/tdbbackup

É importante alterarmos no script o nome dos diretórios que serão salvos no nosso ambiente, por default o script buscará salvar ‘private’, ‘etc’ e ‘sysvol’, mas queremos ‘private’, ‘samba’ e ‘sysvol’, então editamos novamente o script samba_backup e modificamos:

# vim /sbin/samba_backup

De:

 DIRS="private etc sysvol"

Para:

 DIRS="private samba sysvol"

A política de melhores práticas aconselha a pararmos o serviço do samba, antes de rodar o script de backup, se preferirmos seguir:

 # /etc/init.d/samba stop

Rodamos o script chamando-o com o comando:

 # samba_backups

Subimos o serviço do samba novamente:

# /etc/init.d/samba start

Verificamos se foram criados os arquivos de backup, dentro de /home/DADOS/samba:

 etc.{Timestamp}.tar.bz2
 samba4_private.{Timestamp}.tar.bz2
 sysvol.{Timestamp}.tar.bz

BACKUP EFETIVADO!

Poderíamos criar um agendamento automágico deste backup diretamente no Cron:

 # vim /etc/crontab

Adicionamos a linha:

 00 01 * * * /sbin/samba_backup

Informando ao Cron para rodar o script do samba_backup todos os dias á 01h da manhã.

No próximo post, veremos o processo de RESTORE do Samba 4.

Você pode querer ver este post aqui onde o processo é feito todo manualmente, o que uso, sendo testado e totalmente funcional.

Este é o meu modo de fazer a coisa neste momento, continuo estudando e aberto!

That’s all folks!

 

Comentários