web-dev-qa-db-ja.com

scpを使用して特定の拡張子を持つファイルをコピーする

コピーしたい.jpgおよび.pngファイルはscpですが、コピー元の同じフォルダーに異なる拡張子のファイルがあります。私は次のことをしています。

scp [email protected]:/folder/*.{jpg,png} .

拡張子の種類ごとにパスワードを入力するよう求められます。パスワードを一度だけ入力する方法はありますか?

20
sodiumnitrate

それを次のものに置き換えるだけです:

scp [email protected]:'/folder/*.{jpg,png}' .

単一引用符のペアに注意してください。あなたのケースでは、ローカルのシェルが式を評価して、それを実際に次のように変えています:

scp [email protected]:/folder/*.jpg [email protected]:/folder/*.png .

したがって、2つのパスワードが要求されます。このソリューションでは、単一引用符のペアによってローカルシェルによる評価から保護されているため、式を評価しているのは(リモート)scpによって呼び出されるリモートシェルです。

33
A.B

サーバー間で操作をコピーするためにrsyncを使用する方が良い。

 rsync -avzh user@remoteip:/path/*.jpg [email protected]:/path/*.png localserverpath

Rsyncを使用すると、パスワードを1回だけ要求します。

また、ファイルの転送中にrsyncでファイルが存在するかどうかをターゲットの場所でチェックし、ソースの場所とターゲットの場所でコンテンツが同じかどうかもチェックします。

ファイルがターゲットの場所にも存在し、内容も同じ場合、そのファイルはコピーされません。ターゲットの場所に存在しないファイルのみをコピーするため、処理時間が短縮されます。

rsyncは、増分バックアップツールとしてよく使用されます。

8