Can someone tell me with these options, does it affect the files being backed up in any way if ever they need to be restored to its original folder?
Não, a opção -z
não afeta de forma alguma os dados gravados no local de destino, e -a
serve apenas para garantir que uma cópia mais fiel seja feita. Para mais, leia em ...
A página man do rsync descreve a opção -z
( --compress
) assim:
-z
,--compress
compress file data during the transfer
( -a
é simplesmente uma abreviação que permite que os switches garantam que os dados de localização de destino sejam, em todos os aspectos, idênticos aos dados do local de origem após a conclusão da transferência. Isso afeta os metadados do arquivo, mas não o conteúdo do arquivo; conteúdo dos arquivos copiados será o mesmo se você usou -a
ou não.
Observe que a descrição de -z
diz a compactação durante a transferência . Essa é a parte importante, mas pode não ser fácil de entender sem algum conhecimento prévio.
Principalmente, o fato de o rsync usar uma arquitetura cliente / servidor, mesmo para transferências locais; um lado lê os dados do local de origem e o outro lado grava no local de destino. Entre estes dois pode ser uma conexão de rede, ou eles podem estar sendo executados no mesmo host. Essa arquitetura permite que o rsync use exatamente o mesmo protocolo e essencialmente a mesma implementação para copiar localmente ou copiar em uma rede: a única parte que precisa ser alterada é uma camada intermediária que realmente encaminha os dados entre as instâncias rsync .
Quando o seu throughput é limitado pelo throughput da rede, ou se você é cobrado pela quantidade de dados de rede transferidos, e possivelmente se você tem tempo de CPU livre no sistemas de origem e de destino, então compactando o fluxo de dados que flui pela rede podem ajudar o processo de cópia a terminar mais cedo (ou custar menos) porque você troca algum tempo de CPU adicional usado por menos fluxo de dados na rede.
O processo rsync alvo irá então descompactar os dados antes de processá-los e, eventualmente, gravá-los no armazenamento.
Segue-se que ativar a compactação ao copiar arquivos localmente usando rsync é essencialmente desperdiçar tempo de CPU, porque a conexão entre as duas instâncias de rsync envolvidas é muito mais rápida do que qualquer outra I / O envolvida e a mesma CPU estaria realizando a compactação e a descompactação do fluxo de dados. Nesse caso, ignorando o armazenamento em cache por um momento, os dados seriam lidos do disco (lento) na RAM, possivelmente copiados dentro da RAM (rápida), seguidos de serem gravados no disco novamente (lento). Os componentes lentos vão dominar, e copiar menos dados dentro da RAM não ajudará a acelerar o processo noticably (e pode muito bem atrasá-lo devido ao processamento adicional necessário, o que em si possivelmente requer cópia em RAM de dados). Se você é realmente azarado, ativar a compactação colocará você acima do limite onde o espaço de troca precisa ser usado para ajustar todos os dados necessários na memória, o que basicamente mata o desempenho
RAM regular nos dias de hoje pode lidar com transferências sustentadas multi-gigabytes por segundo sem suar a camisa. Uma unidade de disco giratório de 7200 rpm tende a superar cerca de 120-150 MB / s em operação sequencial, e E / S de arquivo aleatório (como feito por rsync) é virtualmente nunca sequencial por mais de rajadas curtas. Os SSDs podem fazer melhor tanto em termos de latência quanto de throughput, mas ainda são ordens de grandeza mais lentas que a RAM . Assim, ao copiar localmente, você sempre será vinculado a E / S e compactando o fluxo de dados em trânsito na melhor das hipóteses não fará diferença porque a mesma quantidade de dados ainda é lido e escrito, como vimos acima, são as partes lentas do processo.