De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 05 de Setembro de 2001
Para transferir o conteúdo de diretórios ou partições entre dois computadores, o rsync é o aplicativo que melhor se adequa.
Ele faz o sincronismo de conteúdo e apenas os arquivos que mudarem, ou partes deles, são transferidos. O primeiro sincronismo, por envolver todo o conteúdo, é mais demorado. Os sincronismos subsequentes ocorrem rapidamente pois apenas as diferenças são transmitidas.
O rsync deve rodar em modo daemon em um dos computadores, aquele que irá receber as solicitações de transferência. Para isto, invocar o comando rsync:
# rsync --daemon
O rsync irá então ler um arquivo de configuração, geralmente /etc/rsyncd.conf, a partir de onde obterá as informações sobre como deverá funcionar e a quais diretórios será permitido o acesso.
Para sincronizar o conteúdo remotamente, basta invocar então o comando rsync como abaixo:
% rsync -avz -e ssh www.ccuec.unicamp.br:/home .
O comando acima irá contactar a máquina www.ccuec.unicamp.br e fará o sincronismo do diretório remoto /home na máquina local.
As opções significam:
-a - Esta flag é uma combinação de diversas outras opções
que significam basicamente que se deseja a recursão
e que se preserve todas as propriedades dos arquivos
(permissões, etc.)
-z - transferir os dados compactados
-v - trabalhar em modo verboso, exibindo todos os arquivos
sendo transferidos e informações sobre a conexão.
-e ssh - indica que a transferência será feita através do
ssh, garantindo a transmissão segura dos dados.
Além destas opções, o rsync possui diversas outras, que nos permitem uma grande flexibilidade na forma de trabalho. Para mais informações ler a man page do comando rsync.
No lado do servidor, incluo a seguir um modelo do arquivo /etc/rsyncd.conf, que permite aos usuários queiroz, mgm e root, o acesso a partir da partição raiz.
uid = nobody
gid = nobody
log file=/var/log/rsyncd
pid file = /etc/rsyncd.pid
max connections = 4
use chroot = no
syslog facility = local5
[/]
comment=usr
path=/usr
read only=false
list=true
hosts
allow=200.200.20.20/255.255.255.0
auth users = queiroz, mgm, root