6

私は現在、次のbashスクリプトを持っています。

for a in `seq 16 75`; 
do scp doneill@server:/mnt/device/folder/numbered_file$a.txt ./; 
done;

これは機能しますが、非常に低速です。各ファイル、サーバーへのリクエストには約4〜7秒かかり、ファイルの送信にはさらに3秒ほどかかります。

サーバーに送信されるコマンドを1つだけ含むこれを行う方法はありますか(VPNが個々のコマンドの受信に送信するのに費やす時間を最小限に抑えるため)?通常、私は次のようなことscp doneill@server:/mnt/device/folder/numbered_file*をしますが、フォルダにはコピーしたくないファイルが何千もあります。私はそれらのいくつかだけを取得する必要があります(シーケンスによって定義されます)。

4

3 に答える 3

5

bashで:

scp doneill@server:/mnt/device/folder/numbered_file{16..75}.txt ./
于 2011-01-18T20:37:49.990 に答える
3

rsync でうまくいくはずです: http://www.manpagez.com/man/1/rsync/

パラメーターを少しいじる必要があるかもしれませんが、正しく行えば、おそらく ssh 経由でファイルを転送する最速の方法です。

于 2011-01-18T20:41:39.750 に答える
2

これは bash で動作しますか?

scp doneill@server:/mnt/device/folder/numbered_file{16..75}.txt ./
于 2011-01-18T20:39:13.363 に答える