Detectando motivos para falha do scp do glob

Detectando motivos para falha do scp do glob

Estou scptransferindo alguns arquivos de um host remoto em um script. Quero saber se alguma coisa falha, geralmente devido a problemas de permissão. Os arquivos copiados pertencem a um usuário diferente e às vezes o script para alterar as permissões do 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 semelhante a esta scp -p remote:*.pattern curdir. Para todos os outros comandos de cópia, simplesmente verifico o código de retorno, mas isso não funciona aqui, pois é possível que o globo esteja simplesmente vazio. Qual é a melhor maneira de verificar se o scp possui código de retorno diferente de zero apenas porque não há arquivos correspondentes ao glob, em oposição a outros problemas, como permissões incorretas no diretório pai ou nos próprios arquivos?

Responder1

Usar ssh para exibir uma lista de arquivos no host remoto é uma possível solução:

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

Você pode então comparar a lista local de arquivos com a remota, usando, diffpor exemplo, ou wc -lpara contagem de linhas.

informação relacionada