rsync – manual do usuário

você precisa de instalação ou configuração de Linux ou seus serviços?
Um desenvolvimento de web de negócios personalizado?
Um curso ou treinamento personalizado?
Revise o site de serviço LinuxTotal

Linuxtotal.com.mx – Informações e serviços em Linux e código aberto
URL: http://www.linuxtotal.com.mx/index.php?cont=rsync-manual-de-uso

A permissão de Copyright © 2005-2021 LinuxTotal.com.mx é concedida para copiar, distribuir e / ou modificar este documento, desde que o autor seja citado e a fonte linextual. COM.MX e de acordo com os termos do GNU Free Licença de documentação, versão 1.2 ou mais posterior publicada pela Fundação de Software Livre.

Autor: Sergio González D. ([email protected])

rsync é a ferramenta de cópia e sincronização mais poderosa que existe no mundo do Linux / Unix.es um clima, que de acordo com sua página é rápido, versátil Para a cópia local e remota dos arquivos. Ele oferece uma lista de descarregamentos de opções que controlam todos os aspectos possíveis do seu comportamento.

O ‘segredo’ de rsync é o seu algoritmo chamado ‘Delta-Transfer “Isso reduz a quantidade de dados que é enviada por meio de enviar apenas as diferenças entre dois arquivos no nível de seus metadados (permissões, datas de acesso, etc.) e o conteúdo de seus dados no nível do bloco no disco.

Como usar

O modo de uso de rsync é idêntico aos comandos cp ou scp, isto é, a origem do rsync

O ‘destino’ no rsync é dito ser opcional porque se apenas a fonte for usada, então é equivalente Listando o diretório ou origem do arquivo.

Tanto a ‘origem’ e o ‘destino’ podem ser locais ou remotos

Sincronizar localmente

para exemplificar O uso básico de rsync Um par de diretórios é criado e algum conteúdo:

$> mkdir dir1 dir2 $> touch dir1/reporte{1..5}$> $> ls -l dir1/total 0-rw-rw-r-- 1 user1 user1 0 Jan 9 13:43 reporte1-rw-rw-r-- 1 user1 user1 0 Jan 9 13:43 reporte2-rw-rw-r-- 1 user1 user1 0 Jan 9 13:43 reporte3-rw-rw-r-- 1 user1 user1 0 Jan 9 13:43 reporte4-rw-rw-r-- 1 user1 user1 0 Jan 9 13:43 reporte5$> $> ls -l dir2/total 0$> 

Usando mkdir Criamos um par de diretórios e, em seguida, com touch Nós geramos 5 arquivos chamados relatórios1, relatório2, etc.

rsync para sincronizar diretórios requer pelo menos a opção -r do que indicar recursão e copiar mais todos os subdiretórios esse é o diretório.

$> rsync -r dir1/ dir2$> ls -l dir2/total 0-rw-rw-r-- 1 user1 user1 0 Jan 9 13:45 reporte1-rw-rw-r-- 1 user1 user1 0 Jan 9 13:45 reporte2-rw-rw-r-- 1 user1 user1 0 Jan 9 13:45 reporte3-rw-rw-r-- 1 user1 user1 0 Jan 9 13:45 reporte4-rw-rw-r-- 1 user1 user1 0 Jan 9 13:45 reporte5$>

Se por algum motivo você não precisar de recursão, mas se você criar os subdiretórios (e não copiar o conteúdo), use o Opção –Dirs que você copia apenas o conteúdo do diretório de origem, arquivos e nome do diretório, mas não há recursão.

NOTA: Se as opções de -dirs são usadas ao mesmo tempo, então -r tem preferência.

Quando diretórios de sincronização, é importante levar em conta a diagonal / (barra) no final do diretório (dir1) fonte, pois isso indica “copiando o Dir1” e seu subdirecto Rios diretamente no dir2.

Caso contrário, o resultado é o seguinte:

$ rsync -r dir1 dir2$ $ ls -l dir2/total 4drwxrwxr-x 2 user user 4096 Jan 9 13:46 dir1 (El dir1 se copió dentro de dir2 al no indicar /)

Você tem que levar em conta que -r só copie recursivamente mas não preservar ou preservar permissões e impressões de tempo de arquivos copiados.

O modo mais usado

Uma vez entendido quersyncé semelhante em uso que o comando veja as opções mais usadas:

$ rsync -vazh dir1/ dir2
  • -V modo verboso, informações extras do Arquivos sendo copiados, etc.
  • -A arquivo de modo, esta opção é aquela que você precisará com mais frequência, já que copie os arquivos e diretórios recursivamente e, ao contrário da opção -r, preserva links, permissões de arquivo, usuário e grupo do arquivo e impressões de tempo.
  • -z comprime os dados de arquivo por transferência, útil especialmente em transferências ou cópias remotas.
  • -h Modo humano, saída de números em humanos formato legível.
$ rsync -avzh file* dir2sending incremental file listfile1file10file2file3file4file5file6file7file8file9sent 56.73K bytes received 206 bytes 22.77K bytes/sectotal size is 57.67M speedup is 1,012.97(Aqui se copía todos los archivos que comienza con "file" al dir2) $ rsync -az file* dir2$ (Lo mismo se logra sin las opciones -v y -h, pero no hay info de avance ni reporte al final)

cópias remotas

Como o seu nome indica rsync “Sincronização remota” é usado principalmente para copiar e para servidores remotos, a sintaxe é simples: o nome do host ou endereço IP do servidor remoto seguido: e o diretório de destino (host: dir)
ejamples:

$ rsync -avzh /srv/respaldos/ host2:respaldos/(Del equipo local al equipo "host2" y al directorio /home/user1/respaldos. 
$ rsync -avzh /srv/respaldos/ user1@host2:respaldos/(Se indica específicamente el usuario en el remoto, de acuerdo a laconfiguración se pedira la contraseña)$ rsync -avzhP [email protected]:/srv/respaldos/ /home/sergio/respaldos/(Desde el equipo remoto 192.168.10.10 con el usuario admin al equipo local.Nótese la opción -P, que es igual a la opción --progress, es útil en transferecnias demúltiples archivos para mostrar el avance o progreso de la copia o transferencia.)

cópias remotas com ssh

Se você estiver copiando informações confidenciais e você deseja ter certeza de que é transferido com segurança (criptografado) pode ser usada a opção – e com o parâmetro ssh.

$ rsync -avzhe ssh [email protected]:/backups/file001.log /var/log/[email protected]'s password:receiving incremental file listfile001.logsent 70 bytes received 9.23K bytes 2.17K bytes/sectotal size is 50.12K speedup is 2.66

excluindo e / ou incluindo arquivos

Estas duas opções, – incluem e – Excluir Exatamente executar o que eles indicam incluem e / ou excluindo arquivos na transferência de arquivos.

$ rsync -azP --exclude '*.bkp' 192.168.10.10:/srv/respaldos/ /home/sergio/respaldos/(Copia todo del origen al destino excepto (excluye) todos losarchivos terminados en .bkp)$ rsync -azP --include 'reporte*' --exclude '*' 192.168.10.10:/srv/respaldos/ /home/sergio/respaldos/(Excluye todo, pero incluye solo aquellos archivos que comienzen con 'reporte')

excluindo no destino

Não é algo muito frequente, mas suponha que você queira manter dois diretórios totalmente iguais , Os mesmos arquivos, isto é, que o diretório de destino é idêntico ao diretório de origem. Você tem, em seguida, um ou mais arquivos que existem no destino, mas que não estão mais na fonte, ao usar rsync com a opção – ligue para você. Os arquivos que estão no destino que não existem mais na fonte serão excluídos.

$ touch dir2/ejemplo.txt$ rsync -avhP --delete dir1/ dir2sending incremental file listdeleting ejemplo.txt./reporte1 0 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=4/6)reporte2 0 100% 0.00kB/s 0:00:00 (xfr#2, to-chk=3/6)reporte3 0 100% 0.00kB/s 0:00:00 (xfr#3, to-chk=2/6)reporte4 0 100% 0.00kB/s 0:00:00 (xfr#4, to-chk=1/6)reporte5 0 100% 0.00kB/s 0:00:00 (xfr#5, to-chk=0/6)sent 337 bytes received 129 bytes 932.00 bytes/sectotal size is 0 speedup is 0.00(Se crea en dir2 ejemplo.txt y nótese que al copiar todo de dir1 a dir2, en dir2 seelimina ejemplo.txt al no existir en dir1. Nótese también como la opción -P muestra elprogreso de la transferencia archivo por archivo)

e excluindo a origem

Se após uma transferência de sucesso ou cópia de dados, você não quiser ocupar mais espaço na fonte, use a opção –Remove-Source-Files, que como seu nome indicará claramente os arquivos na origem. Cuidado com essa opção !!! (Checa a próxima opção)

$ touch dir1/test1.txt dir1/test2.txt$ rsync -avh --remove-source-files dir1/test* dir2/sending incremental file listtest1.txttest2.txtsent 167 bytes received 70 bytes 474.00 bytes/sectotal size is 0 speedup is 0.00$ $ ll dir1/test*ls: cannot access dir1/test*: No such file or directory$ 

simular ou testar a transferência antes Realmente executando-o

quando você faz cópias ou transferências críticas, onde sobrescrever ou excluir arquivos, pode causar sérias conseqüências, como perda de dados ou arquivos confidenciais (como nas opções mostradas acima – Fonte -Files e ligação) ou se você ainda não estiver familiarizado com o uso de rsync, então é conveniente usar a opção muito útil – Dry-Run (simule ou tente) onde rsync realmente não fará nenhuma ação de transferência, copiadas ou excluídas, mas, no entanto, mostrará a saída como se fosse, e desta forma você pode verificar se as ações são os realmente desejados. Depois de ficar satisfeito, só remove – dry-run e executa o comando.

$ rsync -avh --dry-run --remove-source-files dir1/test* dir2/

Estabelecer limites de largura de banda e / ou transferência máxima / mínimo Transferir dados

– max-size = ‘500k’ Esta opção permite que você defina o tamanho máximo dos arquivos a serem transferidos. Portanto, apenas os arquivos são copiados iguais ou inferiores ao tamanho indicado.

– min-size = ‘500k’ Esta opção permite definir o tamanho mínimo dos arquivos a serem transferidos. Portanto, apenas os arquivos iguais ou maiores do que o tamanho indicado foram copiados.

$ rsync -avzhP -e ssh --max-size='500k' /home/ventas/reportes/*.xls [email protected]:/backups/[email protected]'s password:sending incremental file list201501.xls201502.xls201505.xls...sent 234.14K bytes received 315 bytes 22.21K bytes/sectotal size is 11.07M speedup is 175.82(Solo se transfieren archivos xls menores o iguales a 500 kilobytes.Prefijos para el tamaño puede ser k, m, g)

– bwlimit = 100 Por padrão, rsync Não limite a largura de banda nas transferências entre computadores, mas se você quiser limitá-lo com esta opção, ele é alcançado.

$ rsync -avzhP -e ssh --max-size='500k' --bwlimit=100 /home/ventas/reportes/*.xls [email protected]:/backups/(Si no se indica prefijo, el default es 'k', en kilobytes.Prefijos para el ancho de banda pueden ser k, m, gSi se indica --bwlimit=0 es ancho de banda ilimitado, o es lo mismono indicar la opción en si.)

Opções mais úteis

As opções mais comuns ou úteis de rsync, o uso local ou remoto são os seguintes:

tempo especifica um tempo limite em segundos, se não os dados são transferidos para o tempo indicado rsync terminará. O padrão é 0 segundos que significa sem tempo limite.

descrição
curto longo
-a – arquivar modo de arquivo, é o mesmo que indica as opções r, l, P, g, oy d
-r – recursivo recursivo, copiando recursivamente os diretórios.
-L – links Quando encontrar links simbólicos (links simbólicos), estes são recriados no destino. -p – permbs opc íon que faz com que o destino defina as autorizações como na origem.
-t – vezes transfere os horários do arquivo (Atime, cortime, mtime) para o destino
-g – grupo define no destino que o arquivo copiado grupo é o mesmo que a fonte.
– o – proprietário sets no destino que o proprietário do copiado arquivo é o mesmo que a fonte.
-d Isto é o mesmo que indica as opções – dispositivos e – -Specials
– excluir padrão exclui arquivos que correspondem ao padrão ou padrão indicado.
– Incluir padrão inclui arquivos que correspondem ao padrão ou padrão indicado.
– Dispositivos Transfere arquivos de dispositivos de bloco e caractere para o destino onde eles são recriados. Isso só pode acontecer se as permissões raiz estiverem disponíveis no destino.
– especiais Transfere arquivos especiais como FIFOS e nomeado Tomadas.
– versão Indica o número da versão de rsync
-v – verbose aumenta a quantidade de informação relatada durante a transferência ou cópia de registros. É acidente no sentido anti-horário,
– Queet Decrementa a quantidade de informação relatada durante a transferecnia ou cópia de arquivos. Geralmente é usado quando rsync é usado em uma tarefa cron.É a opção contrária a –verbose – ignorar vezes uma das grandes virtudes de rsync é que no momento da cópia ou transferência de arquivos, se estes forem iguais ao destino em termos de tempos e tamanho, não copiá-lo mais, não há alterações. Esta opção permite que isso seja ignorado e todos os arquivos serão copiados / atualizados no destino. (Ver – somente size)
– tamanho somente normalmente Somente os arquivos são transferidos com os tempos alterados ou o tamanho alterado. Com esta opção, os arquivos dos arquivos são ignorados e são transferidos com um tamanho diferente no destino.
-n – Run – Run Criar um teste de teste do que realmente acontecerá sem essa opção, sem fazer nenhuma alteração. Ou seja, a saída mostrará muito semelhante ao que realmente acontecerá se não estiver incluído – dry-run. Geralmente, é usado em conjunto com a opção –verboseey – alterações de exemplo
-i – -temize-alterações relata uma lista de alterações feitas em cada arquivo, incluindo alterações em seus atributos. Isso é equivalente a autilizar -VV em versões obsolidas de rsync
– Remove-Source-Files Remova os arquivos nas fontes (não diretórios) se no destino estes foram duplicados ou copiados com sucesso.
– tempo limite =
– – Log-File = Arquivo Bitacorize o que foi feito no arquivo indicado.
– estatísticas imprimir um conjunto informativo de dados estatísticos na transferência feita.
– Progresso mostra o avanço ou o progresso de Os arquivos que estão sendo transferidos.
– bwlimit = kbps permite definir um limite de transferência em kilobytes por segundo. Esta opção é o seu padrão é 0, que indica limite no uso da largura de banda na transferência.
– Max-size = tamanho não transfere nenhum arquivo maior que o tamanho indicado.
– tamanho mínimo = tamanho não transfere nenhum arquivo menor do que o tamanho indicado.
-z – comprimir comprimir dados durante a transferência.

Você precisa de uma instalação ou configuração do Linux ou de seus serviços?
Um desenvolvimento de web de negócios personalizado?
Um curso ou treinamento para a medida?

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *