Eu quero fazer backup de um diretório de um servidor Linux (reiserfs) em um disco rígido externo (hfs) conectado a um MacBook executando o MacOSX 10.13.
É o Gentoo Linux e eu instalei o rsync versão 3.1.2. No MacOSX, eu instalei o rsync 3.1.2 via Homebrew.
Agora, eu uso as bandeiras -aAxzPiv --delete-delay
. Anteriormente eu também tinha -X
, mas por causa de esse bug do rsync 3.1.2 do upstream eu o removi. Eu me conecto como root
ao servidor Linux para ter todos os direitos de ler tudo e também executá-lo como sudo
no MacOSX. Ou seja é assim:
sudo rsync -aAxzPiv --delete-delay root@server:/mnt/data6 .
Parece funcionar, exceto por alguns diretórios / arquivos que sempre serão retransmitidos (em alguns casos, excluídos primeiro e depois transmitidos, embora eu tenha --delete-delay
). É isso que estou tentando resolver.
Então, primeira pergunta: há um bom sinalizador para rsync
, que me fornece as informações por que acha que deve retransmitir / excluir? Há -v
, --info
, --debug
que pode me dar isso, mas quais são as bandeiras exatas para isso?
( Edit: Obrigado meuh, eu adicionei -i
agora, o que ajuda um pouco, embora ainda seja limitado. )
Eu acho que este é provavelmente um problema que não preservou corretamente o tempo no arquivo de destino. Ou talvez em um diretório. Por exemplo. Eu vejo isso:
...
>f..t....... .../Documents/Topologische Spiele und resourcenbeschränkte Baire-Kategorie.pdf
332,553 100% 15.86MB/s 0:00:00 (xfr#87, ir-chk=1062/50500)
...
>f.st..g.... .../OpenLieroX/Tools/GameCompiler/src/main.cpp
14,813 100% 14.13MB/s 0:00:00 (xfr#88, ir-chk=1004/198016)
...
>f.st..g.... .../openlierox/tools/GameCompiler/src/main.cpp
3,891 100% 3.71MB/s 0:00:00 (xfr#95, ir-chk=1003/410613)
...
>f.st....... .../Robot/Main/uMainForm.o
276,724 100% 330.77kB/s 0:00:00 (xfr#93, ir-chk=1455/198859)
...
*deleting .../Reise/SF2015/A1602080010(Zeyer).pdf
*deleting .../Reise/SF2015/
...
.../Reise/SF2015/
.../Reise/SF2015/A1602080010(Zeyer).pdf
126,218 100% 100.29kB/s 0:00:01 (xfr#566, ir-chk=1001/470897)
...
Eu acho que há vários problemas. Por exemplo. ...resourcenbeschränkte...
pode ser um problema de codificação Unicode. Em seguida, há openlierox
vs OpenLieroX
, o que pode ser problemático porque o sistema de arquivos de destino não faz distinção entre maiúsculas e minúsculas. Eu não tenho certeza como rsync
deve se comportar neste caso se ele ainda tem alguma lógica especial para isso. Então, por exemplo o arquivo uMainForm.o
é sempre retransmitido, por razões desconhecidas (mas não excluído primeiro). Em seguida, o diretório SF2015
incluindo todos os arquivos é primeiro excluído e, em seguida, retransmitido.
Sobre o diretório que está sendo excluído. No servidor, um stat
nesse diretório me dá:
$ stat .../texte1
File: '.../texte1'
Size: 8664 Blocks: 17 IO Block: 4096 directory
Device: 811h/2065d Inode: 181281 Links: 45
Access: (0755/drwxr-xr-x) Uid: ( 1002/ gz) Gid: ( 100/ users)
Access: 2016-07-21 03:19:33.000000000 +0200
Modify: 2016-02-06 18:58:10.000000000 +0100
Change: 2016-07-21 03:19:33.000000000 +0200
Birth: -
No Mac, eu entendo isso:
$ stat .../texte1
16777225 8884695 drwxr-xr-x 236 (1002) _lpoperator 0 8024 "Nov 4 14:06:39 2017" "Nov 4 14:02:07 2017" "Nov 4 14:02:07 2017" "Feb 6 18:58:10 2016" 4096 0 0 .../texte1
Eu acho que fica confuso sobre os tempos.
Então, a próxima pergunta: que sinalizadores devo usar? Talvez eu resolva os problemas que não diferenciam maiúsculas de minúsculas, apenas renomeando isso no lado da origem (deve ser raro). Talvez também para os problemas do Unicode. Mas eu não entendo exatamente as exclusões / retransmissões.
Além disso, talvez eu deva usar outra versão rsync
no MacOSX? O original MacOSX rsync
é a versão 2.6.9 e tem alguns outros sinalizadores e descobri que há mais problemas, mas não estou completamente certo.
(relacionado é essa pergunta mas ela realmente não responde às minhas perguntas aqui. isso .