Transferindo arquivos com o rsync
Você é daqueles que ainda usa FTP para copiar arquivos entre duas máquinas? Ei cara, já estamos no século XXI, este artigo nos introduz ao mundo do rsync, sinônimo de eficiência quando o assunto é cópia remota.
Parte 3: Formas de uso
Para cada situação anteriormente citada, o rsync apresenta uma sintaxe
levemente diferente. Vamos dar uma conferida em cada uma delas.
Uso: rsync [opções] origem destino
Você tem um diretório recheado com arquivos importantes e deseja manter uma cópia fiel do mesmo em outra localidade. Para copiar /home/fabio/artigos para para /var/backups/artigos, executamos:
$ rsync -Cravzp /home/fabio/artigos/ /var/backups/artigos/
Nota: supondo que /var/backups/artigos está criado e tenho permissões de escrita no mesmo.
Costumo utilizar a seqüencia de opções Cravzp por considerar que nelas estão inclusas todas as funcionalidades que necessito. Você pode optar em confiar cegamente em minhas palavras ou dar uma breve conferida na página de manual do software (man rsync) para descobrir o significado de cada opção.
Um pré-requisito para enviar seus arquivos para o servidor remoto é possuir uma conta de usuário no sistema. Sendo assim, sua forma de uso é:
rsync [opções] origem usuario@host:destino
Supondo que o diretório /var/backups/artigos está localizado no servidor remoto cujo endereço IP é 10.0.0.5 e minha conta de usuário possui login "fabio", executamos:
$ rsync -Cravzp /home/fabio/artigos/ fabio@10.0.0.5:/var/backups/artigos/
Surgirá um prompt de senha, digite-a e pronto, os arquivos serão copiados.
Esta situação também requer um login para autenticação no servidor, a menos que o mesmo esteja configurado para aceitar conexões de usuários guest, fato comum em servidores mirrors, porém este assunto está fora do escopo do artigo. Se você entendeu como funciona o comando anterior, basta inverter a ordem dos parâmetros:
$ rsync -Cravzp fabio@10.0.0.5:/var/backups/artigos/ /home/fabio/artigos/
Esta é forma de uso mais simples do rsync e seu pré-requisito é o de possuir login de autenticação no servidor (ou guest). Sintaxe:
rsync [opções] usuario@host:diretorio
Se você deseja listar o diretório /etc do servidor, pode usar o comando:
$ rsync -Cravzp fabio@10.0.0.5:/etc/
O "pulo do gato" dessa situação é a omissão do diretório de destino.
Bom, chegamos aos finalmentes. Se o seu provedor ainda não possui rsync instalado em seus servidores Linux, faça lobby, esperneie e em último caso, mostre este artigo ao departamento de suporte técnico do mesmo.
Um belo caso de grande utilidade do rsync é o próprio Viva o Linux. Mantenho o site atualizado através deste software e se meu provedor não tivesse rsync, com certeza eu teria procurado outro.
E o pensamento do dia: "FTP é coisa de cliqueiro, já era. FTP = (F)oi-se o (T)empo (P)eixe!".
[]'s, Fábio Berbert de Paula
Sincronizando diretórios locais
Uso: rsync [opções] origem destino
Você tem um diretório recheado com arquivos importantes e deseja manter uma cópia fiel do mesmo em outra localidade. Para copiar /home/fabio/artigos para para /var/backups/artigos, executamos:
$ rsync -Cravzp /home/fabio/artigos/ /var/backups/artigos/
Nota: supondo que /var/backups/artigos está criado e tenho permissões de escrita no mesmo.
Costumo utilizar a seqüencia de opções Cravzp por considerar que nelas estão inclusas todas as funcionalidades que necessito. Você pode optar em confiar cegamente em minhas palavras ou dar uma breve conferida na página de manual do software (man rsync) para descobrir o significado de cada opção.
Sincronizando arquivos locais para um servidor remoto
Um pré-requisito para enviar seus arquivos para o servidor remoto é possuir uma conta de usuário no sistema. Sendo assim, sua forma de uso é:
rsync [opções] origem usuario@host:destino
Supondo que o diretório /var/backups/artigos está localizado no servidor remoto cujo endereço IP é 10.0.0.5 e minha conta de usuário possui login "fabio", executamos:
$ rsync -Cravzp /home/fabio/artigos/ fabio@10.0.0.5:/var/backups/artigos/
Surgirá um prompt de senha, digite-a e pronto, os arquivos serão copiados.
Sincronizando arquivos do servidor para sua máquina local
Esta situação também requer um login para autenticação no servidor, a menos que o mesmo esteja configurado para aceitar conexões de usuários guest, fato comum em servidores mirrors, porém este assunto está fora do escopo do artigo. Se você entendeu como funciona o comando anterior, basta inverter a ordem dos parâmetros:
$ rsync -Cravzp fabio@10.0.0.5:/var/backups/artigos/ /home/fabio/artigos/
Listando arquivos do servidor
Esta é forma de uso mais simples do rsync e seu pré-requisito é o de possuir login de autenticação no servidor (ou guest). Sintaxe:
rsync [opções] usuario@host:diretorio
Se você deseja listar o diretório /etc do servidor, pode usar o comando:
$ rsync -Cravzp fabio@10.0.0.5:/etc/
O "pulo do gato" dessa situação é a omissão do diretório de destino.
Bom, chegamos aos finalmentes. Se o seu provedor ainda não possui rsync instalado em seus servidores Linux, faça lobby, esperneie e em último caso, mostre este artigo ao departamento de suporte técnico do mesmo.
Um belo caso de grande utilidade do rsync é o próprio Viva o Linux. Mantenho o site atualizado através deste software e se meu provedor não tivesse rsync, com certeza eu teria procurado outro.
E o pensamento do dia: "FTP é coisa de cliqueiro, já era. FTP = (F)oi-se o (T)empo (P)eixe!".
[]'s, Fábio Berbert de Paula
Gostei da palavra "cliqueiro" . Parece bem coisa de usuário de windows.
Vou adicionar ao meu vocabulario