scp または glob が失敗する理由を検出する

scp または glob が失敗する理由を検出する

スクリプトでリモート ホストからいくつかのファイルを - していますscp。何かが失敗するかどうかを確認したいのですが、最も一般的な原因はアクセス許可の問題です。コピーされるファイルは別のユーザーに属しており、ファイルのアクセス許可を変更するスクリプトが実行されないことがあります。コピーされるファイル セットの 1 つは、空の可能性がある glob であるため、現在、スクリプトには次のような行が含まれていますscp -p remote:*.pattern curdir。他のすべてのコピー コマンドでは、戻りコードを確認するだけですが、glob が単に空である可能性があるため、ここでは機能しません。親ディレクトリまたはファイル自体のアクセス許可が間違っているなどの他の問題ではなく、glob に一致するファイルがないため、scp にゼロ以外の戻りコードがあるかどうかを確認する最適な方法は何ですか。

答え1

ssh を使用してリモート ホスト上のファイルのリストを表示することは可能な解決策ですか。

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

diff次に、たとえば またはwc -lを行数として使用して、ファイルのローカル リストをリモート リストと比較できます。

関連情報