Marlos de Moraes Tavares Tutorial Rsync
Agenda Introdução ao Rsync Características Importantes Instalando o rsync Como o Rsync pode me ajudar? Usando o rsync ao invés de cp Usando rsync por ssh ao invés de scp Quando arquivos remotos contém espaços Comando do shell remoto para sincronizar arquivos Backup incremental
Introdução ao Rsync Rsync é uma das mais poderosas ferramentas do administrador de sistemas. Não importando se você cuida de um sistema ou de milhares, torna sua vida mais fácil BACKUP TRANSFERÊNCIA
Introdução ao Rsync Aplicação de software para sistemas Linux/Unix que sincroniza arquivos e diretórios de uma localização para outra enquanto minimiza a transferência de dados. Pode copiar ou mostrar um conteúdo de diretório e copiar arquivos, opcionalmente usando compressão e recursão.
Introdução ao Rsync
Características Importantes Velocidade: Pela primeira vez, rsync replica todo o conteúdo entre os diretórios fonte e o destino. Na próxima vez, transfere somente os blocos ou bytes modificados para o destino, o que faz a transferência muito rápida. Segurança: rsync permite a criptografia de dados usando o protocolo ssh durante a transferência.
Características Importantes Menos largura de banda: rsync usa compressão e descompactação de dados bloco por bloco no envio e recebimento, respectivamente. Então a largura de banda usada pelo rsync será sempre menor comparada com outros protocolos de transferência de arquivos. Privilégios: Para instalar e executar rsync, não são requeridos privilégios especiais.
Instalando o rsync O primeiro passo é instalar o rsync, caso você ainda não o possua. Se você utiliza Ubuntu, digite: $ sudo apt-get install rsync Somente para confirmar se seu rsync está funcionando normalmente: $ rsync Caso apareçam informações de help do rsync é porque foi instalado corretamente.
Como o rsync pode me ajudar? Ele só copia os dados diferentes entre dois sistemas; caso o alvo não tenha nada ele simplesmente copia os arquivos. Mas se o destino possui alguma parte dos arquivos da fonte, apenas sincroniza a diferença, economizando tempo e largura de banda.
Usando o rsync ao invés de cp Seu uso mais simples é copiar dados de um lugar para outro na mesma máquina. Você pode copiar discos inteiros, diretórios ou somente arquivos. rsync -av /usbdisk/ /localdisk/
Usando rsync por ssh ao invés de scp Queremos copiar todos os arquivos de um diretório local para um diretório em uma máquina remota: rsync -avz /usbdisk/ marlos@setmainserver:/backups/ Deletar qualquer arquivo da máquina remota que não esteja na máquina fonte: rsync -avz --del /usbdisk/ marlos@setmainserver:/backups/
Usando rsync por ssh ao invés de scp Copiar o próprio diretório para o destino ao invés de somente os arquivos: rsync -avz /usbdisk marlos@setmainserver:/backups/ Sincronizar múltiplos arquivos ou diretórios em uma única linha. Útil quando copiamos pela rede e inserimos senha no ssh uma única vez: rsync -avz /dado1 /dado2 marlos@setmainserver:/backups/
Usando rsync por ssh ao invés de scp Puxar o dado da máquina remota para o diretório local: rsync -avz marlos@setmainserver:/backups/ /usbdisk/
Quando arquivos remotos contém espaços Espaços causam todos os tipos de problemas. rsync -av marlos@setmainserver:'/eu\ Odeio\ Espacos/algum\ Filme.avi' /dir_corrente/
Comando do shell remoto para sincronizar arquivos Rsync pode executar comandos na máquina remota, para ajudar você a gerar uma lista de cópia de arquivos. rsync -avr marlos@setmainserver:'`find /data/video -name "*.[avi]"`' /download/
Backup incremental Isto pode ser usado para manter uma árvore diária de backup de quaisquer arquivos modificados e não tem que sobrescrever os arquivos dos dias anteriores. rsync --backup --backup-dir=`date +%Y.%m.%d` -a /dados/trabalhando/ /BACKUP/ Como novos arquivos são criados no diretório sobre a data corrente, observe que este método não precisa copiar o arquivo completo, se ele mudar.
Backup incremental Se você tem um arquivo em /BACKUP/ chamado file1 e esse arquivo tem sido modificado na máquina fonte em /dados/trabalhando/ então um novo diretório será feito. O diretório incremental será chamado `date +%Y.%m. %d` ou os valores numéricos para YEAR.MONTH.DAY e colocado abaixo de /BACKUP/. O dado modificado "file1" será inserido abaixo daquele diretório.
Referências https://calomel.org/rsync_tips.html http://walfrancarvalho.com.br/backup-com-o-rsync http://www.wmdicas.com.br/?dica=928 http://www.thegeekstuff.com/2010/09/rsync-command-examples/ man rsync