scp + copiar os mesmos links

7

Por que o comando scp não copia links do computador local para o outro?

scp -rp dir linux:/dir_target

Como posso copiar os links quando no diretório de origem eu tenho arquivos e links?

    
por jennifer 14.01.2011 / 04:12

2 respostas

8

Se eu entendi o que você quer corretamente. Você quer espelhar exatamente o dir na máquina local para dir_target no linux, e ele está copiando o conteúdo do symlink, em vez de copiar o próprio link simbólico. Para fazer uma cópia exata, você precisa usar o rsync em vez de scp.

rsync -Wav --progress dir linux:dir_target

Eu suspeito que terá o resultado desejado. Eu geralmente uso o rsync de qualquer maneira porque ele só copia arquivos que precisam ser copiados, e geralmente é mais inteligente que o scp.

    
por 14.01.2011 / 07:33
6

Esta é uma boa pergunta. Infelizmente, o scp não copia links simbólicos, e parece que não há planos para adicioná-lo: link .

No entanto, alternativas existem. Você poderia:

  • Use tar cvfz para compactar a pasta (o tar preservará os links); então scp o arquivo tar
  • Use a opção rsync -e ssh para sincronizar por ssh (por exemplo, rsync -ave ssh /src/dir user@hostname:/folder )
  • Use um comando como este para encontrar e listar links simbólicos, depois recriá-los do outro lado (não ótimo, mas eu considerei implementar isso eu mesmo):

    ls -la 'find openddr_ODRINT1/ -type l'

por 04.09.2012 / 18:54

Tags