检测 glob scp 失败的原因

检测 glob scp 失败的原因

我正在scp脚本中从远程主机复制一些文件。我想知道是否有任何失败,最常见的原因是权限问题。被复制的文件属于不同的用户,有时用于更改文件权限的脚本不会运行。被复制的一组文件是一个可能为空的 glob,因此现在脚本包含一行如下内容scp -p remote:*.pattern curdir。对于所有其他复制命令,我只是检查返回码,但这在这里不起作用,因为 glob 可能只是空的。检查 scp 是否具有非零返回码的最佳方法是什么,仅仅是因为没有与 glob 匹配的文件,而不是其他问题,例如父目录或文件本身的权限不良?

答案1

使用 ssh 显示远程主机上的文件列表是一种可能的解决方案:

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

然后,您可以将本地文件列表与远程文件列表进行比较,例如diff,或wc -l进行行数计算。

相关内容