Backups com o Rsync

Iniciado por Apaxe, 03 de Agosto de 2010, 20:21

tópico anterior - próximo tópico

Apaxe

Olá a todos,

Costumo realizar os meus backups do Ubuntu para um segundo disco do computador com o utilitário rsync através do seguinte comando:

$ rsync -av --delete /directoria_que_vai_ser_sujeita_a_backup /directoria_onde_vou_guardar_o_backup

(possuo também um pequeno script no CRON que me faz isto automaticamente)

Como também possuo na minha rede um NAS e um servidor a correr o Samba, gostava de poder realizar também neste os backups com o rsync para uma pasta neles partilhada.
O meu problema é que o acesso à pasta partilhada do NAS e no servidor Samba pede autenticação. Perante tal situação, pergunto se existe forma de efectuar backups com o rsync para pastas partilhadas na rede protegidas com login de acesso?

Obrigados

zekkerj

O rsync, até onde eu sei, só pode gravar para uma pasta mapeada na mesma máquina, ou para outra máquina que é acessível por SSH.

Já que nem o NAS nem o Samba estarão disponíveis por SSH, a solução seria mapear o destino na mesma máquina. Você pode então criar um script, mapeando a pasta, executando o rsync, e depois removendo o mapeamento. Esse script sim seria executado no cron.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Apaxe

zekkerj, obrigado pela atenção.

Podia dar-me um exemplo de como mapear uma pasta partilhada com o samba?

zekkerj

apt-get install smbfs

mount -t smbfs smb://servidor/compartilhamento /media/ponto-de-montagem -o credentials=/etc/samba/servidor.credentials,iocharset=iso8859-1,uid=backup


Esse comando irá montar o compartilhamento \\servidor\compartilhamento sobre a pasta /media/ponto-de-montagem.

Os arquivos que forem vistos dentro de /media/ponto-de-montagem pertencerão ao usuário "backup".

O acesso ao compartilhamento será autenticado, usando os parâmetros dentro do arquivo /etc/samba/servidor.credentials:

username=fulano
password=segredo
domain=WORKGROUP


Esse arquivo deve pertencer ao root e ter permissão 0600 (rw-------).
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Apaxe

zekkerj, o  arquivo "/etc/samba/servidor.credentials" não existe no meu Ubuntu?
Tenho de o criar?

Obrigado

zekkerj

Sim, ele não existe. Você pode criá-lo com qualquer nome, e em qualquer lugar que vc queira; desde que vc mude também esse nome/caminho no comando de montagem, e que ele tenha permissão 0600, pertencendo ao root (e não ao seu usuário).
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

marcionugas

Ow, entao me ajuda aki.
criei esse script para fazer o backup automatico, mas não sei onde salvar.

#!/bin/sh
#
# Créditos do script, versão, etc.
#

# Confs do script
# Onde, DIR_ORIG é o diretório a ser backupeado e DIR_DEST é o
# diretório para onde vai o arquivo compactado e BKP_NAME é o nome ao
# qual será compactado o diretório.
DIR_ORIG="/home/marcio/Documentos"
DIR_DEST="/media/Novo_volume/teste"
BKP_NAME="bkp.tgz"

# compactação do diretório de origem diretamente no diretório de destino
tar -czpf ${DIR_DEST}${BKP_NAME} ${DIR_ORIG}

# mensagem de resultado
echo "Seu backup foi realizado com sucesso."
echo "Diretório: ${DIR_ORIG}"
echo "Destino: ${DIR_DEST}${BKP_NAME}";
exit 0


zekkerj

Salve em "/usr/local/bin".

Daí vc dá permissão de execução ("chmod +x"), e usa quando quiser.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

marcionugas

salvei, dei a permissão só que ele não fez o backup automatico.
Sera que existe alguma maneira de fazer que o ubuntu faça ele automaticamente?

irtigor

leia sobre o cron/crontab. Conselho, da próxima vez use a pesquisa, existem N tópicos tratando sobre "como automatizar", outra dica é postar no lugar certo, você pegou "carona" em tópico parado sobre rsync mas você nem está usando rsync e isso é ruim para quem usa as buscas.

marcionugas

eu instalei o Rsync pensando que ele fazia backup automatico, mas não faz.

zekkerj

#11
Não, não faz.

Ele tem um modo daemon que pode ser usado pra facilitar algumas operações. Mas a forma mais comum é você criar um cronjob[/i] e acioná-lo a intervalos regulares, pra criar a sua cópia.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D