zoukankan      html  css  js  c++  java
  • tar_ssh 配合下载文件(适合于带宽充足传输大量小文件场景)

    局域网网速快,但是当要传输大量小文件时倘若仍然使用scp,由于每个文件传输完毕都需要独立进行传输完毕的确认,这样就无法充分利用带宽。一方面等待确认时tcp窗口无法填满,另一方面文件传完之前确认也不会开始读下一个文件。

    而ssh tar传输方式则恰对应与该场景,将所有文件变成一条流,连续传输,省掉了linux的传输确认过程。

    #不带压缩
    ssh ${username}@${ip} '(cd ${src_folder_path}&&tar -cf - ${src_folder_name} | cat)' | tar xfv - -C ${dst_path}
    #带压缩
    ssh ${username}@${ip} '(cd ${src_folder_path}&&tar -cf - ${src_folder_name} | cat | gzip -1)' | gzip -d | tar xfv - -C ${dst_path}

    spawn bash -c "ssh ${username}@${ip} '(cd ${src_folder_path};tar -cf - ${src_folder_name} | cat)' | tar xfv - -C ${dst_path}"
    expect {
    "(yes/no)?" { send "yes
    ";exp_continue } 
    "*assword:*" { send "${password}
    " }
    }
  • 相关阅读:
    从进入这里,没有写过什么文章,现在开始吧
    24)
    23)
    22)
    21)
    20)
    19)
    18)
    17)
    16)
  • 原文地址:https://www.cnblogs.com/dongzhiquan/p/linux_transfer_tar_ssh.html
Copyright © 2011-2022 走看看