scp diretórios recursivamente no SunOS

1

Encontrei um pequeno problema com o SCP (e também com o rsync). Eu preciso copiar certos arquivos do servidor A (executando o SunOS 5.8) para o servidor B (executando o SunOS 5.10).

Primeiro, recebo a lista de arquivos (várias centenas) via ssh e localizo

FILES='ssh user@remote find ./ -name "*.sh" -o -name "*.cbs" -print'
scp -r user@remote:"$FILES" /u01/appl/somedir/ 

Meu problema é, eu quero copiar arquivos com caminhos relativos, por exemplo %código% criando também a estrutura de diretórios (resultando em product/11/ora/clean.sh ). Atualmente, só consigo baixar o arquivo e nenhum diretório é criado. Como você pode ver, usei /u01/appl/somedir/product/11/ora/clean.sh flag em scp.

    
por Mike Nagy 02.04.2013 / 18:05

1 resposta

1

O shell expandirá seu construtor user @ remote: "$ FILES" em algo que você não deseja. O primeiro terá o usuário @ remote: prefixo, mas o restante não.

Você pode canalizar tar sobre SSH, então pode ser mais fácil criar um arquivo de inclusão com o comando "find" como acima, então você pode fazer aproximadamente isto:

find ...stuff... > myfiles
scp myfiles user@remote
ssh user@remote "tar -Imyfiles -cvf - " | tar -C /u01/appl/somedir -xf-

Provavelmente você pode ser habilidoso e combinar o achado e o alcatrão com a cotação correta.

    
por 02.04.2013 / 19:10

Tags