FTP 大文件上传优化
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,优化方案思路:通过tar把大文件切分成多个100m大小的文件,然后通过多进程上传。脚本如下: #!/bin/bash########################################Au
千家信息网最后更新 2026年11月01日FTP 大文件上传优化
优化方案思路:通过tar把大文件切分成多个100m大小的文件,然后通过多进程上传。
脚本如下: #!/bin/bash
#######################################
#Author:Jianjun Zhang
#Create Data:2017-03-22
#Propose:For big file upload
#Modify Data:
#######################################
#使用tar切分大文件成多个100m的小文件
tar -czf - ftp_test.dmp | split -b 100m -d - ftp_test.tar.gz
#计算切分成了多少个小文件
fc=`ls -l |grep "ftp_test.tar.gz*" |wc -l`
echo $fc
#使用for循环
for ((a=0; a<$fc; a++))
do
if [ "$a" -lt 10 ]; then
i=0"$a"
else
i="$a"
fi
#查看ftp进程数量,当小于5个FTP进程的时候继续在启用一个FTP进程
fpc=`ps -ef|grep "ftp -v -n 192.168.1.100" |wc -l`
while [ "$fpc" -gt 5 ]
do
sleep 5
fpc=`ps -ef|grep "ftp -v -n 192.168.1.100" |wc -l`
echo $fpc
done
echo $i
#FTP部分
echo user ftp_test ftp_test > ftp"$i".txt
echo binary >> ftp"$i".txt
echo hash >> ftp"$i".txt
echo prompt >> ftp"$i".txt
echo cd result_bj >>ftp"$i".txt
echo passive >>ftp"$i".txt
echo put ftp_test.tar.gz"$i" >> ftp"$i".txt
echo bye >> ftp"$i".txt
echo start upload the expdp file.
sleep 2
#后台执行FTP
ftp -v -n 192.168.1.100 < ftp"$i".txt &
rm -rf ftp"$i".txt
done
结论:上传时间约为单个文件上传的1/5,且不会出现FTP上传进程僵死的情况,缺点是这样上传很占用带宽。
优化方案思路:通过tar把大文件切分成多个100m大小的文件,然后通过多进程上传。
脚本如下: #!/bin/bash
#######################################
#Author:Jianjun Zhang
#Create Data:2017-03-22
#Propose:For big file upload
#Modify Data:
#######################################
#使用tar切分大文件成多个100m的小文件
tar -czf - ftp_test.dmp | split -b 100m -d - ftp_test.tar.gz
#计算切分成了多少个小文件
fc=`ls -l |grep "ftp_test.tar.gz*" |wc -l`
echo $fc
#使用for循环
for ((a=0; a<$fc; a++))
do
if [ "$a" -lt 10 ]; then
i=0"$a"
else
i="$a"
fi
#查看ftp进程数量,当小于5个FTP进程的时候继续在启用一个FTP进程
fpc=`ps -ef|grep "ftp -v -n 192.168.1.100" |wc -l`
while [ "$fpc" -gt 5 ]
do
sleep 5
fpc=`ps -ef|grep "ftp -v -n 192.168.1.100" |wc -l`
echo $fpc
done
echo $i
#FTP部分
echo user ftp_test ftp_test > ftp"$i".txt
echo binary >> ftp"$i".txt
echo hash >> ftp"$i".txt
echo prompt >> ftp"$i".txt
echo cd result_bj >>ftp"$i".txt
echo passive >>ftp"$i".txt
echo put ftp_test.tar.gz"$i" >> ftp"$i".txt
echo bye >> ftp"$i".txt
echo start upload the expdp file.
sleep 2
#后台执行FTP
ftp -v -n 192.168.1.100 < ftp"$i".txt &
rm -rf ftp"$i".txt
done
结论:上传时间约为单个文件上传的1/5,且不会出现FTP上传进程僵死的情况,缺点是这样上传很占用带宽。
文件
进程
多个
单个
后台
大小
带宽
思路
情况
数量
方案
时候
时间
结论
缺点
脚本
过多
部分
循环
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网高科技
互联网科技公司的优势
互联网的科技创新
互联网 卓越科技
互联网科技作文
杭州互联网科技公司
互联网与未来科技
亿策互联网科技
美国互联网黑科技
盛创互联网科技有限公司
互联网科技公司招聘
湖南洣水互联网科技有限公司扣款
广州优美互联网科技
团飞科技与伯堂互联网服务平台
迪庆互联网科技招生
企晟互联网信息科技有限公司
互联网科技年终奖
国产互联网科技公司
张家口科技产业互联网平台
互联网科技创业有什么好项目
互联网科技工作委员会
汇久创客互联网科技
友谊互联网络科技
互联网科技股有哪些
须眉科技是互联网公司吗
互联网软件和科技
保险科技服务互联网营销体系
互联网科技包装股份有限公司上市
互联网公司属于科技吗
北京互联网科技类企业分布