http://www.vivaolinux.com.br/artigos/impressora.php?co...
1 de 10
17-09-2012 14:02
http://www.vivaolinux.com.br/artigos/impressora.php?co...
copiando (ou sincronizando) arquivos entre dois diretrios locais; copiando (ou sincronizando) arquivos de sua mquina local para um servidor remoto; copiando (ou sincronizando) arquivos de um servidor remoto para sua mquina local; listando os arquivos de um diretrio no servidor remoto (como um "remote ls"). S uma curiosidade, o rsync desenvolvido por Andrew Tridgell, o mesmo autor do SAMBA. Veja em: http://samba.anu.edu.au/rsync/
Como usar o RSYNC e SSH no Windows Voc deve estar pensando em instalar o CYGWIN para comear com o ssh e rsync no ? ESQUEA! Deixe o CYGWIN pra l, existe um aplicativo chamando cwRsync que instala apenas o necessrio para sua mquina Windows se comunicar com qualquer servidor Linux na hora, feito caldo de cana! E ainda possvel fazer um servidor, ou seja, o Windows ser um servidor rsync para sincronizao nas duas vias: Windows -> Linux e Linux -> Windows. Mas isto objeto para outro artigo. Uma dica, se voc quiser basta copiar o diretrio c:\Arquivos de Programas\cwRsync para qualquer estao que tem o mesmo efeito de usar o executvel da instalao. Bom, no Linux, j est tudo pronto, no precisa fazer nada (basicamente), pois a maioria das distribuies j trazem o ssh e rsync instalados por padro, caso no tenha na sua distribuio, instale com o gerenciador de pacotes da sua preferncia, ou baixe o cdigo fonte e compile! Rsync: http://samba.anu.edu.au/rsync/ SSH: http://www.openssh.com/
A idia
O principal para mim fazer os backups dos arquivos importantes do usurio sem que ele perceba que todos os seus dados esto sendo guardados de forma segura independente da vontade dele.
2 de 10
17-09-2012 14:02
http://www.vivaolinux.com.br/artigos/impressora.php?co...
Por exemplo, voc quer guardar os documentos da empresa ou ainda os emails corporativos. Se voc deixar esta responsabilidade nas mos do usurio... bom ... voc j sabe... Mas que tal deixar uma tarefa agendada que faz isso diariamente?
Obtendo e instalando o cwRsync Voc pode obter o cwRsync aqui. Basta baixar o primeiro arquivo: cwRsync_2.1.4_Installer.zip. Instale cwRsync_2.1.4_Installer.zip conrmando todas as opes. Pronto! Foi criado na pasta C:\Arquivos de Programas um diretrio chamando cwRsync. L esto os binrios do ssh e rsync e um arquivo de exemplo que auto explicativo, porm vamos a alguns exemplos.
Exemplos Em primeiro lugar, precisamos convencionar que: C:\ para o rsync / C:\Arquivos de Programas para o rsync /"Arquivos de Programas" C:\Arquivos de Programas\Microsoft Oce para o rsync /"Arquivos de Programas/"Microsoft Oce"
3 de 10
17-09-2012 14:02
http://www.vivaolinux.com.br/artigos/impressora.php?co...
Opes: --recursive ou -r = cpia recursiva, ou seja todos os arquivos e subdiretrios abaixo do diretrio informado; -a = modo arquivo; -v = Modo detalhado (verbose). Ento vamos aos exemplos. Obs: Lembrando que todas as linhas abaixo so inteiras com enter apenas no nal. Para o exemplo usaremos o servidor 192.168.0.1: Usurio do servidor: root Local: Um HD de backup montado em /media/hd_backup 1. Fazer backup dos emails do outlook do usurio Dailson: rsync -av /"Documents and Settings"/dailson/"Conguraes Locais"/"Dados de aplicativos"/Microsoft/Outlook/outlook.pst root@192.168.10.202:/media/backup 2. Fazer o backup da pasta C:\Sistema Empresa: rsync -av --recursive /"Sistema Empresa" root@192.168.0.1:/media/hd_backup 3. Guardar a pasta meus documentos do usurio dailson: rsync -av --recursive /"Documents and Settings"/dailson/"Meus documentos" root@192.168.0.1:/media/hd_backup 4. Guardar a pasta HOME inteira do usurio dailson: rsync -av --recursive /"Documents and Settings"/dailson root@192.168.0.1:/media /hd_backup 5. Fazer backup da pasta do banco de dados da empresa C:\Banco de Dados: rsync -av --recursive /"Banco de Dados" root@192.168.0.1:/media/hd_backup Obs1: Lembrando que todas as linhas abaixo so inteiras com enter apenas no nal. Ento um script backup.bat completo com os exemplos acima caria desta forma: @ECHO OFF REM ***************************************************** REM Script de Backup
4 de 10
17-09-2012 14:02
http://www.vivaolinux.com.br/artigos/impressora.php?co...
REM Autor: Dailson Fernandes REM Data: 01/08/2008 REM Funo: Faz o backup das pastas importantes do usurio REM ***************************************************** SETLOCAL SET CWRSYNCHOME=%PROGRAMFILES%\CWRSYNC SET CYGWIN=nontsec SET HOME=%HOMEDRIVE%%HOMEPATH% SET CWOLDPATH=%PATH% SET PATH=%CWRSYNCHOME%\BIN;%PATH% rsync -av /"Documents and Settings"/dailson/"Conguraes Locais"/"Dados de aplicativos"/Microsoft/Outlook/outlook.pst root@192.168.10.202:/media/backup rsync -av --recursive /"Sistema Empresa" root@192.168.0.1:/media/hd_backup rsync -av --recursive /"Documents and Settings"/dailson/"Meus documentos" root@192.168.0.1:/media/hd_backup rsync -av --recursive /"Documents and Settings"/dailson root@192.168.0.1:/media /hd_backup rsync -av --recursive /"Banco de Dados" root@192.168.0.1:/media/hd_backup
5 de 10
17-09-2012 14:02
http://www.vivaolinux.com.br/artigos/impressora.php?co...
6 de 10
17-09-2012 14:02
http://www.vivaolinux.com.br/artigos/impressora.php?co...
REM ***************************************************** SETLOCAL SET CWRSYNCHOME=%PROGRAMFILES%\CWRSYNC SET CYGWIN=nontsec SET HOME=%HOMEDRIVE%%HOMEPATH% SET CWOLDPATH=%PATH% SET PATH=%CWRSYNCHOME%\BIN;%PATH% rsync -av /"Documents and Settings"/dailson/"Conguraes Locais"/"Dados de aplicativos"/Microsoft/Outlook/outlook.pst root@192.168.10.202:/media/backup rsync -av --recursive --delete --exclude=*.tmp --exclude=*.*~ --exclude=*.jpg --exclude=*.avi --exclude=*.mp3 --exclude=*.mp4 --exclude=*.wav --exclude=*.v --exclude=*.wma --exclude=*.mpeg --exclude=*.mpg --exclude=*.wmv --exclude=*.exe --exclude=*.amv --exclude=*.com /"Sistema Empresa" root@192.168.0.1:/media /hd_backup rsync -av --recursive --delete --exclude=*.tmp --exclude=*.*~ --exclude=*.jpg --exclude=*.avi --exclude=*.mp3 --exclude=*.mp4 --exclude=*.wav --exclude=*.v --exclude=*.wma --exclude=*.mpeg --exclude=*.mpg --exclude=*.wmv --exclude=*.exe --exclude=*.amv --exclude=*.com /"Documents and Settings"/dailson/"Meus documentos" root@192.168.0.1:/media/hd_backup rsync -av --recursive --delete --exclude=*.tmp --exclude=*.*~ --exclude=*.jpg --exclude=*.avi --exclude=*.mp3 --exclude=*.mp4 --exclude=*.wav --exclude=*.v --exclude=*.wma --exclude=*.mpeg --exclude=*.mpg --exclude=*.wmv --exclude=*.exe --exclude=*.amv --exclude=*.com /"Documents and Settings"/dailson root@192.168.0.1:/media/hd_backup rsync -av --recursive --delete --exclude=*.tmp --exclude=*.*~ --exclude=*.jpg --exclude=*.avi --exclude=*.mp3 --exclude=*.mp4 --exclude=*.wav --exclude=*.v --exclude=*.wma --exclude=*.mpeg --exclude=*.mpg --exclude=*.wmv --exclude=*.exe --exclude=*.amv --exclude=*.com /"Banco de Dados" root@192.168.0.1:/media /hd_backup
Usando a tarefa agendada ou o AT do Windows Bom, j que todo o trabalho est feito, s falta agendar a tarefa para que este script seja executado diariamente, ou de acordo com a sua necessidade. Mas no custa nada lembrar que da primeira acontecer o seguinte: 1. Somente da primeira vez que voc rodar o script, o rsync (ssh) pedir para voc aceitar a chave do host no qual est enviando os dados. Para isso basta digitar yes e pronto. Esta pergunta no acontecer novamente.
7 de 10
17-09-2012 14:02
http://www.vivaolinux.com.br/artigos/impressora.php?co...
2. A primeira cpia completa e dependendo da quantidade de dados ir demorar um pouco. Porm se imediatamente aps a cpia voc chamar o script novamente, ver que o rsync no vai fazer nada. O rsync a partir da segunda cpia s vai copiar os arquivo que foram alterados, criados ou deletar do backup o que foi deletado da origem. 3. Para agendar a tarefa deste script rodar automaticamente diariamente ou a sua escolha v em tarefas agendadas do Windows em: Iniciar / Programas / Acessrios / Ferramentas / Tarefas Agendadas Ou se preferir, use o AT do Windows, que um agendador de tarefas semelhante ao do Linux que tambm roda em linha de comando. Se quiser aprender sobre o AT no Windows, visite a seguinte pgina: http://support.microsoft.com/kb/313565/pt-br
Fazendo com que o script de backup no pea senha Antes da cpia comear, o login feito via ssh. Nesta hora o login passado pela string root@192.168.0.1:/media/hd_backup, porm imediatamente depois solicitada a senha. Ento este incomodo gerado, ou seja, toda vez que a tarefa agendada iniciar o script de backup, a senha ser solicitada. E se o usurio no tiver na frente do computador? Ou se esse backup for feito de madrugada? Para resolver este problema, basta gerar as chaves pblica e privada e fazer com que o cwRsync comece o backup sem interveno humana.
Gerando as chaves
No servidor Linux, gere as chaves pblicas e privadas da seguinte forma. No usurio que voc far a conexo sem senha (vou utilizar o root como exemplo), digite no terminal: # ssh-keygen Quando perguntado para entrar com uma "passphrase", apenas tecle "Enter" duas vezes para que que em branco, caso contrrio esta frase precisar ser digitada posteriormente. A sada do comando esta:
8 de 10
17-09-2012 14:02
http://www.vivaolinux.com.br/artigos/impressora.php?co...
Generating public/private rsa key pair. Enter le in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identication has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key ngerprint is: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx Pronto, foram geradas suas chaves pblicas e privada dentro do diretrio /root/.ssh. So elas: /root/.ssh/id_rsa (privada) /root/.ssh/id_rsa.pub (pblica) Agora faa o seguinte: # cat /root/id_rsa.pub >> /root/.ssh/authorized_keys importante que a chave pblica (id_rsa.pub) seja adicionada (usando o sinal de maior maior ">>") dentro do arquivo "authorized_keys", pois podem haver outros clientes registrados neste mesmo arquivo. Pegue o arquivo /root/.ssh/id_rsa (a sua chave privada) e copie no seguinte diretrio na sua mquina Windows: c:\Documents and Settings\seu_usurio\.ssh Pronto! Agora rode novamente o backup.bat e veja que o backup feito sem nenhuma interferncia. A chave privada est em "/root/.ssh/id_rsa" e a pblica em "/root/.ssh/id_rsa.pub".
Concluses e crditos Bom, estou compartilhando a soluo que achei em meu trabalho de fazer backups de servidores e estaes Windows de forma segura e ntegra. Utilizo esta forma h alguns anos sem quaisquer tipos de problemas.
9 de 10
17-09-2012 14:02
http://www.vivaolinux.com.br/artigos/impressora.php?co...
Existem muito mais opes que podem ser utilizadas com rsync. Para isso consulte o manual. Ele muito bom e explicativo. Se voc tiver no Linux, digite "man rsync" ou consulte ele na web em: http://www.samba.org/ftp/rsync/rsync.html A introduo foi retirada do artigo de Fbio Berbert de Paula em Transferindo arquivos com o rsync/. Gerao de chaves: Conexes SSH sem senha fcil e descomplicado Este artigo pode ser acessado a partir do meu site em: http://www.dailson.com.br E lembrem-se... Flames > /dev/null!
10 de 10
17-09-2012 14:02