我目前有以下bash脚本:
for a in `seq 16 75`;
do scp doneill@server:/mnt/device/folder/numbered_file$a.txt ./;
done;
虽然这确实有效,但它非常慢。每个文件,对服务器的请求大约需要4-7秒,然后发送文件需要另外3秒左右。
有没有办法做到这一点,只涉及一个命令发送到服务器(以最小化我的VPN花在发送接收每个单独的命令的时间)?通常,我会执行类似scp doneill@server:/mnt/device/folder/numbered_file*
的操作,但文件夹中有数千个我不想复制的文件。我只需要获取这几个(由序列定义)。
发布于 2011-01-19 04:37:50
在bash中:
scp doneill@server:/mnt/device/folder/numbered_file{16..75}.txt ./
发布于 2011-01-19 04:41:40
rsync应该可以做到这一点:http://www.manpagez.com/man/1/rsync/
您可能需要修改一些参数,但如果操作得当,这可能是通过ssh传输文件的最快方法。
发布于 2011-01-19 04:39:13
这对bash有效吗?
scp doneill@server:/mnt/device/folder/numbered_file{16..75}.txt ./
https://stackoverflow.com/questions/4728752
复制相似问题