Detectando razões para scp de glob falhando

0

Estou scp -alguns arquivos de um host remoto em um script. Eu quero saber se alguma coisa falhar, mais comumente devido a problemas de permissões. Os arquivos que estão sendo copiados pertencem a um usuário diferente e, às vezes, o script para alterar as permissões de arquivo não é executado. Um dos conjuntos de arquivos que estão sendo copiados é um glob que pode estar vazio, então agora o script contém uma linha parecida com essa scp -p remote:*.pattern curdir . Para todos os outros comandos de cópia, eu simplesmente verifico o código de retorno, mas isso não funciona aqui, já que é possível que o glob esteja simplesmente vazio. Qual é a melhor maneira de verificar se o scp tem código de retorno diferente de zero apenas porque não há arquivos correspondentes ao glob ao contrário de outros problemas, como permissões ruins no diretório pai ou nos próprios arquivos?

    
por pythonic metaphor 27.01.2014 / 16:24

1 resposta

0

Está usando o ssh para exibir uma lista de arquivos no host remoto uma possível solução:

ssh remote "find ./ -type f -name '*.pattern'"

É possível comparar a lista local de arquivos com a remota, usando diff , por exemplo, ou wc -l para contagem de linhas.

    
por 27.01.2014 / 16:31