# 用于从sftp集群中下载数据文件到本地
# 当前脚本路径
currentPath=$(cd "$(dirname $0)";pwd)
cd $currentPath
cd ..
# 文件名称存于data.time文件中 例如:20210101 日期形式
fileName=`cat time/data.time`
# 下载的数据路径
tempPath=$currentPath/../source_data/data
mkdir -p $tempPath
# 删除历史数据
rm $tempPath/$fileName.dat
rm $tempPath/$fileName.md5
# 下载两个文件
$currentPath/gftp -u data-online -i /home/work/.ssh/id_rsa -H *.*.*.* -P 8015 -s upload/online/data/$fileName.dat -d $tempPath -l $currentPath/../log/gftp.log
$currentPath/gftp -u data-online -i /home/work/.ssh/id_rsa -H *.*.*.* -P 8015 -s upload/online/data/$fileName.md5 -d $tempPath -l $currentPath/../log/gftp.log
# 判断是否下载成功
num=`find $tempPath -name $fileName.dat | wc -l`
if ((num>0)); then
# 检查md5
md5=`md5sum $tempPath/$fileName.dat | awk '{print $1}'`
checkMd5=`cat $tempPath/$fileName.md5`
if [[ $md5 != $checkMd5 ]]; then
rm -rf $tempPath/$fileName.md5
rm -rf $tempPath/$fileName.dat
echo "md5校验失败"
exit 2
else
rm -rf $tempPath/$fileName.md5
fi
echo "$fileName download finished"
else
exit 1
fi
download_data.sh
自动化下载与MD5校验:SFTP集群数据迁移脚本
最新推荐文章于 2025-09-11 03:40:15 发布
本文介绍了一个脚本,用于从SFTP集群下载数据文件到本地,包括文件名获取、路径管理、数据清理、文件下载及MD5校验确保数据完整性的过程。

9044

被折叠的 条评论
为什么被折叠?



