Detectando razones por las que falla scp de glob

Detectando razones por las que falla scp de glob

Estoy scpingresando algunos archivos de un host remoto en un script. Quiero saber si algo falla, generalmente debido a problemas de permisos. Los archivos que se copian pertenecen a un usuario diferente y, a veces, el script para cambiar los permisos del archivo no se ejecuta. Uno de los conjuntos de archivos que se están copiando es un globo que puede estar vacío, por lo que ahora el script contiene una línea similar a esta scp -p remote:*.pattern curdir. Para todos los demás comandos de copia, simplemente verifico el código de retorno, pero eso no funciona aquí, ya que es posible que el globo simplemente esté vacío. ¿Cuál es la mejor manera de verificar si el scp tiene un código de retorno distinto de cero solo porque no hay archivos que coincidan con el global en comparación con otros problemas, como permisos incorrectos en el directorio principal o en los archivos mismos?

Respuesta1

Usar ssh para mostrar una lista de archivos en el host remoto es una posible solución:

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

Luego puede comparar la lista local de archivos con la remota, usando, diffpor ejemplo, o wc -lpara el recuento de líneas.

información relacionada