#!/bin/bash
# ---------------------------------------------
# File Name : wps_download.sh
# Author : qiao
# Mail : 181864031@qq.com
# Date : 2024-08-09
# Description : wps有公网环境下载解压脚本
#用screen -S wps_download
#新开终端执行脚本
#bash wps_download >logfile.txt
#ctrl+A 或者直接退出可继续执行脚本
#screen -r wps_download 重新进入终端
#screen -ls 查看有那些终端
#
# ---------------------------------------------
. /etc/profile
echo -e "
###########这是一个下载脚本,需要先有环境检查配置文件、挂载点、和网络连通性,否则无法下载成功###########
########################################################################################################
##################################-下载链接格式-########################################################
下载链接: https://private-services.ks3-cn-beijing.ksyun.com:443/kubewps/x86/v6.2/release/precheck_kubewps_wpsyun_v6.2.2408.20240814.76.tar.gz?Signature=YPP2p1tkQJBOyocEyCFrZqLDtlE%3D&Expires=1723967794&KSSAccessKeyId=AKLTUdSuyloDTnmu6pJBPycv
#########################################################################################################
#####################################--MD5格式--#########################################################
MD5:e3cf88ea59f6c8c592ff3ab8525b36f5
"
# all变量定义
read -p "下载链接:" DOWNLOAD_URL
#DOWNLOAD_URL=$1
read -p "MD5: " MD5SUM
#MD5SUM="$2"
# 从下载链接中提取文件名
FILENAME=$(basename "$(echo "$DOWNLOAD_URL" | sed 's/?.*//')")
echo -e '下载地址' $DOWNLOAD_URL
echo -e '检查地址' $CHECK_URL
echo -e '文件名称' $FILENAME
file=$(find / -name "kubewps.conf")
if [-z $file];then
echo "文件不存在"
exit 3
fi
data_dir=$(grep '"data_dir":' "$file" | awk -F'"data_dir": "' '{print $2}' | awk -F'"' '{print $1}')
function check_mount() {
# 查找所有 kubewps.conf 文件
# 从文件中提取 "data_dir" 字段
if [ -n "$data_dir" ]; then
echo "Found data_dir: $data_dir"
# 检查 data_dir 是否为挂载点
if findmnt -rno TARGET "$data_dir" > /dev/null; then
echo "$data_dir 是挂载点."
else
echo "$data_dir 非挂载点.不能下载"
exit 1
fi
else
echo "No data_dir found in $file."
fi
}
function download_file ()
{
# 检测服务器是否可用
if curl --silent --head --fail "$DOWNLOAD_URL" >/dev/null; then
echo "服务器可用,开始下载文件..."
# 使用 wget 下载文件并显示进度条
wget --progress=bar:force:noscroll -O $data_dir/"$FILENAME" "$DOWNLOAD_URL"
echo $?
# 计算并显示下载文件的 MD5 校验值
# 请替换 '预期的MD5值' 为实际的 MD5 值
DOWNLOAD_MD5=$(md5sum "$data_dir/$FILENAME" | awk '{ print $1 }')
if [ "$DOWNLOAD_MD5" == "$MD5SUM" ]; then
echo "文件下载成功,MD5 校验通过。"
else
echo "文件下载失败,MD5 校验未通过。"
exit 1
fi
else
echo "无法连接到服务器。"
exit 1
fi
}
function tar_file ()
{
PV_PATH=`which pv`
if [ -f $PV_PATH ] ;then
echo -e "pv解压中"
$PV_PATH $data_dir/"$FILENAME" |tar -zxf -
command $PV_PATH $data_dir/"$FILENAME" |tar -zxf -
if [[ $? == 0 ]];then
echo -e "文件$FILENAME 解压成功"
else
echo -e "文件$FILENAME 解压失败"
fi
else
echo "tar 解压中"
tar xf $data_dir/"$FILENAME" -C $data_dir
if [[ $? == 0 ]];then
echo -e "文件$FILENAME 解压成功"
else
echo -e "文件$FILENAME 解压失败"
fi
fi
app_package=$(find $data_dir -maxdepth 1 -type d \( -name 'dc*' -o -name 'open*' -o -name 'wpsyun*' -o -name 'precheck*' \) -print;)
if [[ -z $app_package ]]; then
echo "app类型为空,正在退出"
exit 1
else
echo "app类型为 $app_package"
find $data_dir -maxdepth 1 -type d \( -name 'dc*' -o -name 'open*' -o -name 'wpsyun*' \) -exec mv {} $data_dir/kubewps/apps/ \;
echo "移动完成"
fi
}
function main ()
{
check_mount
download_file
tar_file
}
main
wps_download.sh
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...