brigamont
(usa CentOS)
Enviado em 20/05/2013 - 09:09h
prgs.linux, muito obrigado pelas dicas, porém o meu problema não estava sendo resolvido apenas parando o serviço do samba.
Como eu informei nos posts anteriores, o erro de saída após eu executar o script era o abaixo:
/usr/sbin/samba_backup: 54: /usr/sbin/samba_backup: tdbbackup: not found
Error while backuping ./private/secrets.ldb
Ou seja, o script não está encontrando do tdbbackup (necessário para efetuar o backup dos *.ldb).
O que acontece é que assim como o samba_backup o tdbbackup precisa também estar presente em /usr/sbin
Fiz um "manual de Backup e Restore do Samba4" para ajudar quem precisar.
Eu vou colar o manual aqui, mas caso alguém queira o arquivo, me mande um email que terei o prazer em ajudar.
bruno.rigamont@gmail.com
E viva o mundo livre.
SAMBA4 – Backup e Restore
Este material tem o intuito de ensinar a como fazer backup e restore da base do Samb4 (Objetos do AD, DNS, Domínio).
Cenário:
Sistema Operacional: Ubuntu 12.10 Server x64
Versão do Samba: 4.0.5
Local de instalação: /usr/local/samba
Arquivos de instalação: /usr/src/samba-4.0.5
Local de backup: /usr/local/samba/backups
Módulo DNS: Samba Internal
Backup:
- Durante a instalação do Samba4 (./configure, make e make install) alguns scripts não são instalados, entre eles o samba_backup e o tdbbackup, que são essências para o backup. Por isso teremos que adicionar esses arquivos manualmente.
Para isso será necessário possuir os arquivos de instalação do Samba4, aqueles que normalmente baixamos em /usr/src.
Configuração:
- “Instalar” arquivos faltantes durante a instalação do Samba4. (samba_backup e tdbbackup):
# cp /usr/src/samba-4.0.5/source4/scripting/bin/samba_backup /usr/sbin
# cp /usr/src/samba-4.0.5/bin/tdbbackup /usr/sbin
# chown root:root /usr/sbin/samba_backup
# chown root:root /usr/sbin/tdbbackup
# chmod 750 /usr/sbin/samba_backup
# chmod 750 /usr/sbin/tdbbackup
*Dependências instaladas.
- Configurar o script de backup:
# vi /usr/sbin/samba_backup
Edite as linhas abaixo, conforme suas necessidades:
FROMWHERE=/usr/local/samba (Local da instalação do Samba, de onde será extraído o backup)
WHERE=/usr/local/samba/backups (Local de destino do backup)
DAYS=90 (Dias de backup, até 90 dias atrás)
- Crie o local de destino de backup:
# mkdir /usr/local/samba/backups
# chmod 750 /usr/local/samba/backups
*Está então, criado e configurado o script de backup e criada a pasta de destino do backup.
- Executar o script de backup.
# /usr/sbin/samba_backup
O script irá rodar silenciosamente (sem exibir nada na tela) durante alguns segundos.
Se não houver nenhum erro, acesse a pasta de destino do backup /usr/local/samba/backups e verifique se estão criados os seguintes arquivos.
• etc.{Timestamp}.tar.bz2
• samba4_private.{Timestamp}.tar.bz2
• sysvol.{Timestamp}.tar.bz
Se o backup rodou sem erros e os arquivos acima foram gerados com sucesso, crie um agendamento de backup no cron.
# crontab –e
Adicione a linha abaixo para efetuar o backup diário as 02:00:
0 2 * * * /usr/sbin/samba_backup
Restore:
- Neste cenário, vamos simular que o Domain Controller sofreu um dano irreversível, sendo necessário subir um novo servidor em um novo hardware. O procedimento que eu segui deu certo e funcionou perfeitamente, seguindo o conceito que o novo servidor irá substituir por completo o antigo hardware. E que os arquivos de backup estão salvos em um local seguro (Fita, CD, Pendrive, etc.)
Antes de prosseguir, configure a nova maquina com as configurações abaixo:
- Instalação do Samba4:
• Instale a mesma versão do SAMBA da versão anterior. (no meu caso versão 4.0.5).
• Apenas instale o samba, e configure o script de inicialização do serviço não é necessário executar o Provision nem iniciar o serviço do samba.
• Esteja certo de que as seguintes pastas estejam vazias: /usr/local/samba/etc | /usr/local/samba/private | /usr/local/samba/var/locks/sysvol
- Configurações de rede:
• Para evitar problemas de DNS, o novo servidor, deve ter as mesmas configurações de rede do servidor anterior. IP e DNS (Importante que o DNS deve apontar para si mesmo, ou seja, 127.0.0.1)
- Arquivos de Backup:
• Copie os arquivos de backup que devem estar salvos em lugar seguro para /usr/local/samba/backups
Obs: executei essas configurações e consegui restaurar as configurações PERFEITAMENTE.
 
- Executar o Restore no novo servidor:
# cd /usr/local/samba/backups
Descompacte os arquivos de backup em seus respectivos locais:
# tar -jxf etc.{Timestamp}.tar.bz2 -C /usr/local/samba/
# tar -jxf samba4_private.{Timestamp}.tar.bz2 -C /usr/local/samba/
# tar -jxf sysvol.{Timestamp}.tar.bz2 -C /usr/local/samba/
Renomeie os arquivos *.ldb.bak que estão em /usr/local/samba/private para *.ldb. Com o comando abaixo:
# find /usr/local/samba/private/ -type f -name '*.ldb.bak' -print0 | while read -d $'{TEXTO}' f ; do mv "$f" "${f%.bak}" ; done
Se o backup não conter ACLs estendidas, execute o comando abaixo:
# samba-tool ntacl sysvolreset
Neste ponto o backup já está recuperado. Inicie o samba e faça alguns testes:
# /etc/init.d/samba start
*IMPORTANTE: Neste cenário o módulo DNS é o SAMBA Internal, sendo assim, não é necessário efetuar mais nenhuma configuração pois o novo PDC já estará funcionando perfeitamente.
Porém, se o módulo DNS for o BIND9, será necessário além de executar o passos acima, executar os procedimentos do LINK:
https://wiki.samba.org/index.php/DNS#A_note_on_DNS_problems_with_BIND9_DLZ
Autor:
Bruno Rigamont
Fonte:
https://wiki.samba.org/index.php/Backup_and_Recovery