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)
- Por que ele não está mostrando nenhum arquivo / diretório no arquivo de log, no caso de
rsync
(case 2)?
- Se eu precisar mostrar a listagem de arquivos no log com
rsync
(case 2), o que devo fazer?