# 用于从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
最新推荐文章于 2024-05-28 11:20:55 发布