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}
    " }
    }
  • 相关阅读:
    Redis学习第二天
    Redis学习
    jQuery基础
    Hashtable 和 HashMap 的区别
    JSP页面乱码问题
    Day28 java8:Stream API
    转 链表中节点每k个一组反转
    day 27 lambda表达式(针对接口) & 函数式接口
    day20异常2
    day20 异常1
  • 原文地址:https://www.cnblogs.com/dongzhiquan/p/linux_transfer_tar_ssh.html
Copyright © 2011-2022 走看看