回答:
次のように置き換えてください:
scp user@someRemoteHost.com:'/folder/*.{jpg,png}' .
一重引用符のペアに注意してください。あなたの場合、あなたのローカルシェルは式を評価して、実際にそれを変えています:
scp user@someRemoteHost.com:/folder/*.jpg user@someRemoteHost.com:/folder/*.png .
したがって、2つのパスワードが尋ねられました。このソリューションでは、単一引用符のペアがローカルシェルによる評価からそれを保護するため、式を評価しているのは(リモート)scpによって呼び出されるリモートシェルです。
scp -r user@someRemoteHost.com:'/folder' .
は、たとえばそれを使用する 必要があります。また、これらのサブディレクトリでpngとjpgのみをコピーしたい場合は、おそらくscpまたはsftp(カスタムスクリプトが可能なsftp / lftpでない限り)は使用できませんが、代わりにssh + tarのペアのようなものを実行する必要があります。その場合、特定のニーズに合わせて独自の質問をする必要があります。
サーバー間で操作をコピーするためにrsyncを使用する方が適切です。
rsync -avzh user@remoteip:/path/*.jpg user@192.168.159.155:/path/*.png localserverpath
rsyncを使用すると、パスワードを1回だけ要求されます。
また、ファイルの転送中のrsyncでは、ファイルが存在するかどうかをターゲットの場所でチェックし、ソースの場所とターゲットの場所でコンテンツが同じかどうかもチェックします。
ファイルがターゲットの場所にも存在し、内容も同じ場合、そのファイルはコピーされません。ターゲットの場所に存在しないファイルのみをコピーするため、処理時間が短縮されます。
rsyncは多くの場合、増分バックアップツールとして使用されます。
rsync
かどうかに関係なくscp
、ポイントは/folder/*.{jpg,png}
引用する必要があるということ'/folder/*.{jpg,png}'
です。