为了节省带宽/流量费,一般我们会从静态资源公共库加载常用的js、css文件,比如bootcdn、jsdelivr等等。刚看到群里说jsdelivr又挂了,已经影响网站的正常运行。
其实自己用到的静态文件也就那几个,所以就随手写了一个shell脚本,基本满足我的需求。
该脚本将指定静态文件下载到本地服务器,并保持原始的的目录结构。
提示:本脚本使用了wget,如未安装请先安装。
代码语言:shell复制# Ubuntu/Debian执行
sudo apt install wget
# CentOS/TencentOS执行
yum install wget
可将本代码保存为dl_cdn.sh
代码语言:shell复制#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin;
export PATH
#修改为本地默认存储根目录
save_path='/www/wwwroot/xxxxxxxx/cdn'
if [ "$1" != "" ]; then
url=$1
url_path=$(echo "$url" | cut -d/ -f4-)
file_name=${url_path##*/}
save_name=$file_name
if [ "$3" != "" ]; then
save_name="$3"
fi
file_path=${url_path%/*}
save_path="$save_path/$file_path"
if [ "$2" != "" ]; then
save_path="$"
fi
mkdir -p "$save_path"
file_full_path="$save_path/$save_name"
wget -q -O "$file_full_path" "$1"
if [ -s $file_full_path ]; then
echo "已将${file_name}下载至${file_full_path}";
else
echo "下载失败";
fi
else
echo "未传入url";
fi
脚本有三种入参方式
1.把文件下载到默认路径
代码语言:shell复制## 示例1: dl_cdn.sh url
# 把jQuery下载到默认路径
./dl_cdn.sh https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js
2.把文件下载到指定路径
代码语言:shell复制## 示例2: dl_cdn.sh url save_path
# 把jQuery下载到/www/wwwroot/static/jquery目录下
./dl_cdn.sh https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js /www/wwwroot/static/jquery
3.把文件下载到指定路径,并指定文件名
代码语言:shell复制## 示例3: dl_cdn.sh url save_path file_name
# 把jQuery下载到/www/wwwroot/static目录下,命名为jquery.3.6.0.min.js
./dl_cdn.sh https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js /www/wwwroot/static jquery.3.6.0.min.js
笔者为TDP成员,点击了解TDP详情