Servidor de backup
2.1 - Instalação
Para instalar o
rsync em seu computador, caso esteja utilizando o
Debian, execute o comando abaixo:
# apt-get install rsync
Se você estiver utilizando outra distro, você pode fazer a instalação através das fontes do programa, que podem ser baixadas no site oficial:
2.2 - rsyncd.conf
Seguiremos com as configurações no servidor de backup, o arquivo
/etc/rsyncd.conf contém as opções do
rsyncd.
Crie o arquivo /etc/rsyncd.conf seguindo o exemplo abaixo:
#
# /etc/rsyncd.conf
#
# Usuário sob o qual o rsync irá rodar
uid=root
# Grupo sob o qual o rsync irá rodar
gid=root
# Arquivo de log
log file = /var/log/rsyncd.log
# Módulo para o servidor-um
[servidor-um]
# Caminho onde fica o espaço para este módulo
path = /backup/servidor-um
# Usuário(s) autorizado(s)
auth users = servidor-um-backup
# Arquivo de usuários senhas
secrets file = /etc/rsyncd.secrets
# Permitir gravação
read only = false
# Não incluir este módulo quando solicitada a listagem
list = false
# IP(s) ou rede permitidos a conectar
hosts allow = 192.168.1.10
# Log de Transferências
transfer logging = yes
# Formato do arquivo de log
log format = %t: host %h (%a) %o %f (%l bytes). Total %b bytes.
# Módulo para o servidor-dois.
[servidor-dois]
path = /backup/servidor-dois
auth users = servidor-dois-backup
secrets file = /etc/rsyncd.secrets
read only = false
list = false
hosts allow = 192.168.1.20
transfer logging = yes
log format = %t: host %h (%a) %o %f (%l bytes). Total %b bytes.
Para cada "path" especificado deverá ser criado um diretório correspondente.
Neste exemplo, devemos criar manualmente os diretórios:
- /backup
- /backup/servidor-um
- /backup/servidor-dois
e atribuir a permissão 700 à todos.
O dono destes diretórios deve ser o root.
2.3 - rsyncd.secrets
Deverá ser criado ainda o arquivo
/etc/rsyncd.secrets, que contém
as senhas dos usuários de cada módulo. Estes usuários não precisam existir
no sistema.
#
# /etc/rsync.secrets
#
# Usuários e senhas que se conectarão ao servidor
# Formato:
# <usuario>:<senha>
servidor-um:senhaUM
servidor-dois:senhaDOIS
Os arquivos
/etc/rsync.conf e
/etc/rsync.secrets DEVERÃO ter permissão 600.
2.4 - Execução do servidor
Algumas configurações para inicialização do Rsyncd:
- --daemon # Executar rsync em modo daemon
- --config=<arquivo> # Especifica arquivo de configuração (padrão: /etc/rsyncd.conf)
- --address=<ip> # Indica o IP ao qual o servidor irá escutar
- --port=<porta> # Porta do rsyncd (Padrão: 873)
Escolha e modifique as que lhe interessar.
Para inicializar o serviço
rsyncd no
Debian, altere o arquivo
/etc/default/rsync
para que fique desta maneira:
RSYNC_ENABLE=true
RSYNC_OPTS='--config=/etc/rsyncd.conf --port=873'
E em seguida execute o script de inicialização:
# /etc/init.d/rsync start
Caso você utilize outra distribuição, crie um arquivo de configuração
semelhante com o abaixo:
#!/bin/bash
#
# /etc/rc.d/rc.rsyncd
#
# Executável do rsync
RSYNC="/usr/bin/rsync"
# Opções de inicialização
RSYNC_OPTS="--config=/etc/rsyncd.conf --port=873"
case $1 in
start)
$RSYNC --daemon $RSYNC_OPTS
;;
stop)
killall rsync
;;
restart)
killall rsync
$RSYNC --daemon $RSYNC_OPTS
;;
*)
echo "Use: /etc/rc.d/rc.rsync {start|stop|restart}
esac
Dê permissão de execução ao script:
# chmod +x /etc/rc.d/rc.rsync
Em seguida, execute o script de inicialização:
# /etc/rc.d/rc.rsync start
2.5 - Firewall
Abaixo fragmento de script de firewall para liberar as portas utilizadas pelo rsyncd:
# /etc/init.d/rc.firewall
...
iptables -P INPUT DROP
...
# Nome(s) ou IP(s) do(s) cliente(s) de backup
clientes="servidor-um servidor-dois"
# Porta
porta="873"
for i in $clientes; do
iptables -A INPUT -s $i -p tcp --dport $porta -j ACCEPT
iptables -A INPUT -s $i -p tcp --dport $porta -j ACCEPT
done
...
2.6 - Concluindo
Após os passos a cima, o servidor de backup estará devidamente configurado,
partiremos agora para a configuração que deve ser feita em todos os clientes.