Como medir e mostrar o progresso de um rsync copy linux?

Como medir e mostrar o progresso de um rsync copy linux?
O RSYNC significa "Sync Remote Sync", que é um utilitário de sincronização de arquivos de linha de comando de código aberto e de código aberto usado para transferir arquivos e diretórios para destinos locais e remotos. É uma utilidade eficiente, pois apenas copia as alterações da fonte. Portanto, minimiza a quantidade de dados copiados para o destino remoto. É usado para backups de dados, espelhamento e transferência de dados de um local para outro.

Normalmente, quando você é um arquivo de cópia usando o RSYNC, ele não mostra nenhuma barra de progresso ou a medida de velocidade ou tamanho dos dados transferidos. Durante grandes transferências de arquivos, às vezes você pode ver o progresso da transferência e o tamanho dos dados transferidos.

Nesta dica rápida, mostraremos como medir e mostrar o progresso do RSYNC ao copiar os arquivos no Linux. Também mostraremos como visualizar as estatísticas da transferência de arquivos.

Esta é a sintaxe do comando básico do RSYNC:

$ rsync Opções de destino de origem

Por exemplo, para copiar um diretório chamado Sample e seu conteúdo para o diretório de downloads, o comando seria:

$ rsync -Av Sample/ Downloads/

Onde a a opção é usada para sincronização recursiva e v é usado para saída detalhada.

Esta é a saída do comando RSYNC acima que mostra a saída detalhada do processo de transferência de arquivos. No entanto, como você pode ver, não está mostrando nenhum progresso ou estatística da transferência de arquivos.

Mostre o progresso da cópia rsync

Para mostrar o progresso do processo de cópia do RSYNC, use a opção RSYNC integrada.

Aqui está a sintaxe do comando:

$ rsync -Progresso de destino

Por exemplo, para ver o progresso enquanto copia um diretório chamado Sample e seu conteúdo para o diretório de downloads, o comando seria:

$ rsync -av --progress amostra/ downloads/

Onde -progress é usado para mostrar a barra de progresso das transferências, a opção para sincronização recursiva e v Para exibir uma saída detalhada.

Esta é a saída do comando RSYNC acima que mostra o progresso de cada arquivo copiando para outro local. No final da transferência de arquivos, você verá uma linha de resumo mostrando bytes enviados/recebidos, taxa de transferência, tamanho total e velocidade de transferência.

Na produção acima, você pode ver que a taxa média de transferência é de 78.078.648.67 bytes/s, o tamanho total do arquivo é 169.746.317 bytes, e foi preciso 1.45 segundos para concluir a transferência.

Mostrar estatísticas da cópia rsync

Há outra opção -estatísticas que mais algumas estatísticas sobre a transferência de arquivos como número de arquivos e número de arquivos transferidos, tamanho total do arquivo e tamanho total do arquivo transferido, etc. Para incluir essas estatísticas em sua saída, juntamente com o progresso da transferência de arquivos, você pode usar a opção -stats com o RSYNC da seguinte maneira:

$ rsync -progress -stats Origem de origem

Por exemplo, para ver o progresso e as estatísticas enquanto copiava um diretório denominado amostra e seu conteúdo para o diretório de downloads, o comando seria:

$ rsync -av --progress -stats sample/ downloads/

Onde -progress é usado para mostrar a barra de progresso das transferências, -Stats para exibir estatísticas, a opção para sincronização recursiva e v Para exibir uma saída detalhada.

Esta é a saída do comando RSYNC acima que mostra o progresso de cada arquivo copiando para outro local. No final da transferência de arquivos, você verá estatísticas de transferência de arquivos e uma linha de resumo mostrando bytes enviados/recebidos, taxa de transferência, tamanho total e velocidade de transferência.

Nesta postagem, você aprendeu a medir e mostrar o progresso do RSYNC copiando os arquivos da fonte para o destino. A opção -progress mostra o progresso da transferência enquanto as opções -stats mostram as estatísticas da transferência de arquivo. Essas opções dão a um usuário chato algo para assistir enquanto transferem arquivos grandes.