Use a opção --log-file.
rsync -av /source/ /dest/ --log-file=mylog.log
Estou tentando criar um arquivo de texto de log depois de fazer um rsync. Eu tentei usar uma linha de comando: rsync -av / source / / dest / > log.txt O arquivo de texto que foi criado mostra apenas os nomes de arquivos "diferentes" entre a pasta de origem & a pasta de destino, que é próxima do que eu quero.
Existe uma maneira de criar um arquivo de log que agrupa os arquivos "diferentes" em arquivos que foram modificados & criado?
Obrigado.
Use a opção --log-file.
rsync -av /source/ /dest/ --log-file=mylog.log
A ideia principal
Para qualquer moderno rsync
, é possível usar --info
em vez de -v
, por exemplo:
rsync --info=COPY2,DEL2,NAME2,BACKUP2,REMOVE2,SKIP2 -a source/ dest/ > log.txt
# or eventually with --log-file=mylog.txt
Algumas operações adicionais
A saída / arquivo resultante será semelhante a
file1.zip is uptodate
file2.odt
Dir1/
Dir1/file3.txt
Em seguida, você pode usar grep
para filtrar os resultados, por exemplo, com algo como
grep 'is uptodate' mylog.txt | sed 's/is uptodate//g' > Already_Uptodate.txt
grep -v 'is uptodate' mylog.txt > Updated_Now.txt
Na primeira linha eu deletei a string 'uptodate' com sed para ter uma saída mais limpa. Isso abre o problema se você tem um arquivo chamado ' é uptodate ' é claro :-) Ele tem que ser tratado de uma maneira diferente ...
Algumas palavras mais
Você pode selecionar as informações e o nível de informações que deseja para cada opção
In a modern
rsync
, the-v
option is equivalent to the setting of groups of --info and --debug options.You can choose to use these newer options in addition to, or in place of using
--verbose
, as any fine-grained settings override the implied settings of-v
.Both
--info
and--debug
have a way to ask for help that tells you exactly what flags are set for each increase in verbosity.
A lista obtida com rsync --info=help
é informada abaixo enquanto a de rsync --debug=help
não é relatada:
Use OPT or OPT1 for level 1 output, OPT2 for level 2, etc.; OPT0 silences.
BACKUP Mention files backed up
COPY Mention files copied locally on the receiving side
DEL Mention deletions on the receiving side
FLIST Mention file-list receiving/sending (levels 1-2)
MISC Mention miscellaneous information (levels 1-2)
MOUNT Mention mounts that were found or skipped
NAME Mention 1) updated file/dir names, 2) unchanged names
PROGRESS Mention 1) per-file progress or 2) total transfer progress
REMOVE Mention files removed on the sending side
SKIP Mention files that are skipped due to options used
STATS Mention statistics at end of run (levels 1-3)
SYMSAFE Mention symlinks that are unsafe
ALL Set all --info options (e.g. all4)
NONE Silence all --info options (same as all0)
HELP Output this help message
Options added for each increase in verbose level:
1) COPY,DEL,FLIST,MISC,NAME,STATS,SYMSAFE
2) BACKUP,MISC2,MOUNT,NAME2,REMOVE,SKIP
Caso o rsync (client-server) não seja suficiente moderno você tem que usar mais v
e mais esforço. Na verdade, você pode usar -vv
, -vvv
, -vvvv
aumentando cada vez na verbosidade, mas a análise será mais complexa.
More than two -v options should only be used if you are debugging rsync
Uma palestra realmente útil pode ser man rsync
na seção onde fala sobre as opções -v
e especialmente --info=FLAGS
.
Tags command-line rsync linux unix ubuntu