Rsync sem senha
Publicado em 17 de abril de 2004
Nosso sempre colaborador Paulino Michelazzo (paulino@michelazzo.com.br) disse: Artigo muito bom... Rsync sem senha
Pode parecer estranho o título do tutorial. E é estranho mesmo. Mas pior seria o verdadeiro título como "rsync utilizando SSH sem que você tenha que digitar a senha de acesso todas as vezes que rodar o script". Como este título seria muito grande, resolvi abreviar e explicar ao longo do tutorial. Todos nós temos a necessidade de fazer cópias de segurança (ou backup) de informações, sejam estas entre estações e um servidor, entre servidores ou até mesmo entre estações. O Linux* conta com várias ferramentas interessantes para estas tarefas, sendo uma delas o rsync, um pequeno aplicativo que permite a cópia de arquivos de uma máquina para outra de forma segura. Não estarei aqui discutindo como usar o rsync mas sim como permitir que um script acesse um servidor ou outra máquina sem que o usuário tenha que digitar a senha de acesso, podendo assim agendar o script para que seja executado de tempos em tempos. Como fazer Para que não seja necessário informar a senha todas as vezes que vamos fazer uma cópia dos arquivos de uma máquina é preciso exportá-la para a máquina remota. Com isso, a máquina local (que irá receber os arquivos), pode sem complicações fazer executar os comandos necessários para a operação. Para exportar a senha, use os seguintes comandos:
# cat ~/.ssh/id_dsa.pub | ssh root@maquina_remota 'cat - >> ~/.ssh/authorized_keys' # cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
As outras duas linhas colocam a chave criada dentro do arquivo de chaves autorizadas tanto na máquina que serve os arquivos quanto na que recebe. Na segunda linha troque maquina_remota pelo endereço IP da máquina que vai servir os arquivos.
rsync -avz root@maquina_remota:/origem_dos_dados/ /destino_dos_dados/
0 2 * * * root /etc/backup.sh
Uma reclamação existente é que não existe um arquivo de log para o acompanhamento do que foi feito pelo script. Mas este problema pode ser resolvido com um redirecionamento de saída de tela para um arquivo, da seguinte forma: #!/bin/bash SYNC_LOG=/var/log/rsync.log # local onde o arquivo de log sera armazenado echo "Fim da sincronizacao" >> $SYNC_LOG Com as alterações acima propostas, todas as saídas do script serão redirecionadas para o arquivo /var/log/rsync/log, o qual poderá ser lido com qualquer editor de sua preferência, sendo que as informações relativas a execução do script ficam entre os comentários Início e Fim da sincronização. Outras mudanças podem acontecer, tais como escolher somente alguns arquivos ou um a inclusão de vários outros diretórios no mesmo script para a operação de backup. Estas mudanças podem ser implementadas por qualquer um da forma que for mais conveniente para cada cenário. * A grafia está abreviada para Linux, sendo o nome correto GNU/Linux" Autor: Paulino Michelazzo, link Comentários para "Rsync sem senha"
» Postado por: Everaldo Castro em abril 22, 2004 01:05 PM, 200.150.50.:
» Postado por: arnaldo em abril 23, 2004 12:51 AM, 200.140.26.:
» Postado por: arnaldo em abril 23, 2004 04:48 PM, 200.96.227.:
» Postado por: Paulino em abril 28, 2004 12:02 PM, 200.158.234:
» Postado por: claudio em maio 3, 2004 01:30 PM, 200.207.217:
» Postado por: Leandro em maio 5, 2004 02:37 PM, 200.175.117:
» Postado por: Fernando em setembro 23, 2004 12:09 PM, 200.158.122:
Antes de comentar...
- Preserve a qualidade desta discussão - Leia os Termos de Uso. - Este formulário deve ser usado para comentários sobre a notícia. Se você tem dúvidas ou precisa de ajuda, use o Fórum. - Mantenha o foco nos argumentos e no assunto - Não faça ataques pessoais. - Pense 5 vezes antes de entrar em discussões inúteis, como "qual é a melhor distribuição/ambiente gráfico/linguagem de programação/etc.", mesmo se alguém já tiver provocado - um erro não justifica o outro - Não seja um e-mala ;-) ![]() Envie seu comentário
|