Já uso rsync
há algum tempo e sempre funcionou muito bem. No entanto, tentar rsync
meu macOS (fonte, sistema de arquivos APFS) com meu Synology NAS (dest, sistema de arquivos btrfs) parece sempre apresentar "desafios" que não encontro em outros usos do rsync
.
Alguns dos meus “desafios” são com a nomenclatura usada (particularmente) na rsync
documentação; ou seja man rsync
. Espero encontrar algum esclarecimento sobre esta questão; a seguir estão os detalhes:
rsync
é a sincronização "unidirecional"; man rsync
descreve o -i
( --itemize-changes
) da seguinte forma:
[output is cryptic string] that is 11 letters long. The general format is
YXcstpoguax, where Y is replaced by the type of update being done ...
A < means that a file is being transferred to the remote host (sent)
A > means that a file is being transferred to the local host (received)
Ao usar o seguinte rsync
comando:
# Version:
rsync --version
rsync version 3.2.7 protocol version 31
# The command (simplified)
rsync -rlAtgoDiv /Users/seamus/Desktop/ /Volumes/backups/Desktop
Eu recebo a seguinte saída:
>f..t....... BooksBlogsEtc/pix/Capucine02.jpg
É aqui que perco o enredo. O >
diz "file being transferred to local host (received)"
, mas tomando esta afirmação pelo valor nominal , diz que o arquivo está sendo transferido para o meu Mac e do NAS – ele está sendo recebido . IOW, confundi o termo source
com sent
e (em menor grau) local host
. Mas não é isso que parece estar acontecendo - o arquivo no exemplo acima está sendo enviado da origem/Mac para o destino/NAS.
Alguém pode me explicar essas aparentes discrepâncias?
O Rsync é executado em três modos diferentes.
“enviado” e “recebido” têm um significado inequívoco nos dois primeiros casos, nem tanto no terceiro.
Quando você usa uma cópia local para local, sempre mostrará o
>
símbolo para transferências.Embora você
/Volumes/backup/Desktop
possa ser apoiado por um NAS,rsync
não sabe disso. Não está usando nenhum dos protocolos remotos que definem um lado remoto (shell remoto ou daemon rsync). No que diz respeito ao programa, estes são apenas sistemas de arquivos locais. A parte da rede não está sendo feitarsync
pelo seu sistema operacional. Como tal, sempre será exibido>
.Se o seu NAS tiver um daemon rsync e você optar por se conectar a ele por meio de algo como:
rsync -rlAtgoDiv /Users/seamus/Desktop/ [email protected]:/backup/Desktop
então
rsync
trataria o destino como um dispositivo remoto e mostraria a transferência com um<
caractere.