FTP 大文件上传优化
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,优化方案思路:通过tar把大文件切分成多个100m大小的文件,然后通过多进程上传。脚本如下: #!/bin/bash########################################Au
千家信息网最后更新 2025年02月04日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安全错误
数据库的锁怎样保障安全
网络安全可能面临的危险因素
不可识别的数据库格式怎么办
网络安全学习宣传培训计划
金蝶加密服务器在哪
苏州网络技术转让服务标准
吉林有名的网络技术服务
未来的数据库将朝两个方向发展
电骡服务器
亚信服务器内网管理平台
北京企业软件开发预算
上海个性化软件开发批发价格
辽宁软件开发推广
世界服务器连接技巧
中国网络技术扣费
网络技术员危险吗
域名化服务器安全吗
江西浪潮服务器虚拟化定做
联硕宁波互联网科技有限公司
河北特定软件开发调试
法院的网络安全岗位
服务器统一监控管理平台
河北崇雨网络技术公司
湖北自然人税收代理服务器云空间
sugram聊天软件开发商
南宁航库网络技术有限公司
数据库底层架构
各国网络安全产业排名
市委网络安全和信息化工作会议
时序数据库监控指标
数据库子表与主表