Eu queria perguntar: existe alguma razão para não usar rsyncpara tudo e abandonar cp?
Eu não estava ciente rsynce agora não sei por que cpé necessário.
rsyncnão está disponível em todos os lugares, cpé.
Tapete de
3
Qual instalação? Linux? Qual? Unix? idem. BSD? Você nunca sabe o que vem por padrão.
terdon
5
Não existe realmente uma "instalação padrão" para Linux. Toda distro tem seu conjunto de pacotes principais e uma variedade de variações. Além disso, quando você precisa trabalhar em muitos sistemas, o uso das ferramentas disponíveis em qualquer lugar facilita as coisas.
Tapete de
4
@ Mat: Existe uma instalação padrão (ou núcleo) na medida em que as distribuições linux atendem, através da base de usuários GNU base, com POSIX, que requer (e define o funcionamento de) cpmas não rsync: pubs.opengroup.org/onlinepubs/007904875 /utilities/contents.htm
goldilocks
1
Eu tenho certeza que o Debian GNU / Linux instala o rsync por padrão. No entanto, ele não está disponível no ambiente de instalação e resgate. (Eu usei que mais cedo hoje para transferir o conteúdo da minha partição raiz de um disco para outro Usado os 7.1.0 amd64 instalar DVD..)
um CVn
Respostas:
24
A rigor, sim, você sempre pode usar rsync. De man rsync(ênfase minha):
O Rsync é uma ferramenta de cópia de arquivos rápida e extraordinariamente versátil. Ele pode copiar localmente para / de outro host em qualquer shell remoto ou para / de um daemon rsync remoto. Ele oferece um grande número de opções que controlam todos os aspectos de seu comportamento e permitem que especificações muito flexíveis do conjunto de arquivos sejam
copiadas. É famoso por seu algoritmo de transferência delta, que reduz a quantidade de dados enviados pela rede, enviando apenas as diferenças entre os arquivos de origem e os arquivos existentes no destino. O Rsync é amplamente usado para backups e espelhamento e como um comando de cópia aprimorado para o uso diário.
Agora, às vezes não vale a pena digitar esses poucos caracteres extras apenas para usar um tanque para matar uma mosca. Além disso, rsyncmuitas vezes não é instalado por padrão, então cpé bom ter isso.
Você quer dizer não disponível como parte da instalação padrão, mas um download separado?
21713 Jim
1
@ Jim sim, às vezes você precisa se instalar rsyncdependendo do sistema em que se encontra. Se você não tiver rootacesso, isso pode ser difícil. cpé POSIX e sempre estará lá.
terdon
9
cpfaz parte dos coreutils do GNU, por isso é sempre instalado em todos os sistemas Linux enquanto rsyncnão é.
Martin von Wittich
1
sometimes it is just not worth typing those few extra characters- Eu fiz um alias pcp(para "cópia de progresso") para isso;)
Izkata 15/13
19
Rsync pode ser mais lento do que cpem algumas situações. Por exemplo, quando o destino existe e o rsync acaba fazendo algumas comparações caras para cada bloco, não encontra blocos iguais e copia o arquivo de origem completo de qualquer maneira.
Além disso, quando os arquivos de destino não existem, o rsync não oferece nenhuma vantagem acima do cp.
Abaixo, a metodologia de cópia do rsync é significativamente mais lenta. Consulte unix.stackexchange.com/questions/374071/… . Um traço de cp mostra (no momento em que este artigo foi escrito), uma simples sequência de operações de leitura de 32 KB / gravação de 32 KB. Enquanto isso, o Rsync faz uma gravação de leitura / 4092 bytes + 4 bytes no soquete / leitura do soquete / gravação de 250 KB no arquivo. Estou fazendo um rsync de 36T de arquivos de tamanho misto com taxa de transferência de 130MB / s. Eu posso triplicar isso com cp -a. O rsync vence, como você diz quando deseja "fazer 'isso' parecer 'isso'" em diretórios que já são semelhantes.
Mike S
7
Eu acho rsyncque não lida com copiar arquivos esparsos de maneira direta. cppor padrão lida com isso muito bem.
rsync
não está disponível em todos os lugares,cp
é.cp
mas nãorsync
: pubs.opengroup.org/onlinepubs/007904875 /utilities/contents.htmRespostas:
A rigor, sim, você sempre pode usar
rsync
. Deman rsync
(ênfase minha):Agora, às vezes não vale a pena digitar esses poucos caracteres extras apenas para usar um tanque para matar uma mosca. Além disso,
rsync
muitas vezes não é instalado por padrão, entãocp
é bom ter isso.fonte
rsync
dependendo do sistema em que se encontra. Se você não tiverroot
acesso, isso pode ser difícil.cp
é POSIX e sempre estará lá.cp
faz parte dos coreutils do GNU, por isso é sempre instalado em todos os sistemas Linux enquantorsync
não é.sometimes it is just not worth typing those few extra characters
- Eu fiz um aliaspcp
(para "cópia de progresso") para isso;)Rsync pode ser mais lento do que
cp
em algumas situações. Por exemplo, quando o destino existe e o rsync acaba fazendo algumas comparações caras para cada bloco, não encontra blocos iguais e copia o arquivo de origem completo de qualquer maneira.Além disso, quando os arquivos de destino não existem, o rsync não oferece nenhuma vantagem acima do cp.
fonte
Eu acho
rsync
que não lida com copiar arquivos esparsos de maneira direta.cp
por padrão lida com isso muito bem.fonte
-S
bandeira.sparse
.Como esse
cp
sinalizador está ausente no rsync:fonte
-n
(execução a seco) no rsync, que pode ser um substituto para esse recurso.