Qual é a melhor abordagem para copiar diretórios? [fechadas]

0

Qual é a melhor abordagem para copiar pastas para máquinas remotas (no meu caso, precisamos copiar tudo de /etc/yum.repo.d para a máquina remota)? Usando rsync -av ou scp -rp ?

# scp -rp /etc/yum.repos.d/* master100:/etc/yum.repos.d 
# rsync -av /etc/yum.repos.d/* master100:/etc/yum.repos.d
    
por yael 24.08.2017 / 21:48

1 resposta

3

Eu preferiria usar rsync . É mais simples de lembrar, porque, como você mostra, as opções mais comuns correspondem à sintaxe de cp .

Tecnicamente rsync pode não estar instalado em alguns sistemas em que scp está disponível. No entanto, os recursos de rsync são super úteis. Como resultado, ele será normalmente instalado e é útil para praticar usando-o.

Para casos como o que você mostra, às vezes você pode querer usar rsync --delete . Isso é útil até mesmo para arquivos locais ( cp não possui a opção --delete ). No entanto, também é super perigoso. Quando você escreve um comando rsync --delete , você deve sempre executá-lo primeiro no modo -n , para ver o que ele fará sem realmente fazê-lo.

(É particularmente perigoso porque o rsync interpreta / na origem como significando algo diferente para todos os outros (mais semelhante ao trailing /. ), e conclusão do caminho com a tecla TAB incluirá automaticamente o% arrastado/ Se o caminho for um diretório, isso pode causar problemas mesmo sem --delete , sobrescrevendo os arquivos errados ou bagunçando o diretório errado com arquivos que não fazem sentido.Eu suponho que o comportamento do rsync seja anterior ao uso disseminado da conclusão do caminho. )

    
por 24.08.2017 / 22:50