使用scp大量传输文件

用户名

我正在尝试将大量数据从一台服务器传输到另一台服务器。我试过使用

scp <file> <address@server:/path/to/scp/to

可以,但是对于大文件来说速度很慢,并且要求我为每个scp输入一个密码。

在传输前后,我也尝试过压缩和解压缩,但速度甚至更慢。有没有更快的方法?

这是传输大量数据的最佳方法吗?

fugu

如果要压缩和传输目录中的所有文件,可以使用以下命令:

tar -cf - <DIR>/* | sshpass -p '<password>' ssh <address@server>  'tar -xf - -C /path/to/unzip/to'

这将压缩所有文件,通过ssh(自动填充密码)传输并在第二台服务器上的指定路径中将其解压缩。

您可以将其放在bash脚本中,如下所示:

显示cd中的所有目录并设置为$ mydir:

mydirs=`ls -p | grep "/"`

为cd中的每个目录执行脚本:

for i in $mydirs; 
do 
    echo "Zipping directory ($i)...";
    tar -cf - <DIR>/* | sshpass -p '<password>' ssh <address@server>  'tar -xf - -C /path/to/unzip/to'
done

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章