Estatísticas de execução a seco do Rsync - Estatísticas diferentes após a execução dos comandos 'cp' e 'rsync'

1

Para gerar alguns arquivos aleatórios, criei um script que é o seguinte:

#!/bin/bash

for dir in 'seq 1 10'
do
        mkdir /root/mandar/RsyncSrc/$dir
        cd /root/mandar/RsyncSrc/$dir
        for file in 'seq 11 20'
        do
                touch /root/mandar/RsyncSrc/$dir/$file
        done
done

Assim, o conteúdo do diretório /root/mandar/RsyncSrc se parece com:

1  10  2  3  4  5  6  7  8  9  mkfiles.sh

Caso 1 (com o comando cp ):

Eu executo o seguinte comando para sincronizar o /root/mandar/RsyncSrc com o diretório /root/mandar/RsyncDst :

cp -R /root/mandar/RsyncSrc/* /root/mandar/RsyncDst/

Conteúdo do diretório /root/mandar/RsyncDst :

1  10  2  3  4  5  6  7  8  9  mkfiles.sh

Agora, executo o rsync dry-run para obter uma lista de arquivos afetados da seguinte forma:

rsync -avzm --stats --safe-links --dry-run --ignore-existing --human-readable /root/mandar/RsyncSrc/*  /root/mandar/RsyncDst/ > test.log

Conteúdo do arquivo test.log :

building file list ... done
1/
10/
2/
3/
4/
5/
6/
7/
8/
9/

Number of files: 112
Number of files transferred: 0
Total file size: 234 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 926
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 963
Total bytes received: 42

sent 963 bytes  received 42 bytes  2.01K bytes/sec
total size is 234  speedup is 0.23 (DRY RUN)

Caso 2 (com o comando rsync ):

Eu deletei tudo de /root/mandar/RsyncDst e executei o seguinte comando para sincronizar os dados:

rsync -avzm --stats --safe-links --ignore-existing --human-readable /root/mandar/RsyncSrc/*  /root/mandar/RsyncDst/

Em seguida, execute novamente o dry-run da seguinte forma:

rsync -avzm --stats --safe-links --dry-run --ignore-existing --human-readable /root/mandar/RsyncSrc/*  /root/mandar/RsyncDst/ > test.log

Desta vez, os conteúdos de test.log são:

building file list ... done

Number of files: 112
Number of files transferred: 0
Total file size: 234 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 926
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 933
Total bytes received: 12

sent 933 bytes  received 12 bytes  1.89K bytes/sec
total size is 234  speedup is 0.25 (DRY RUN)
  1. Por que ele não está mostrando nenhum arquivo / diretório no arquivo de log, no caso de rsync (case 2)?
  2. Se eu precisar mostrar a listagem de arquivos no log com rsync (case 2), o que devo fazer?
por Mandar Shinde 28.05.2015 / 09:41

1 resposta

1

Isso porque você está usando a opção -a quando faz a cópia com rsync e não usa a opção -a com cp . Isso resulta em registros de data e hora nos arquivos copiados cp não sendo preservados.

PS que fornece opções adicionais de rsync -v resulta em saída adicional. Embora eu esteja usando a versão 31 do protocolo rsync versão 3.1.0, que tem um relatório de saída ligeiramente diferente, ele tem os mesmos resultados que o seu. Quando eu usei uma opção na cópia cp inicial, o rsync gera o mesmo nos meus diretórios rsyncDstCp e rsyncDstRsync.

    
por 29.05.2015 / 12:51

Tags