前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >jsdelivr又崩了?还是把静态资源下载到本地服务器吧!

jsdelivr又崩了?还是把静态资源下载到本地服务器吧!

原创
作者头像
TDP-苏苏
修改2022-05-11 11:11:47
3.8K5
修改2022-05-11 11:11:47
举报
文章被收录于专栏:上云实践笔记

为了节省带宽/流量费,一般我们会从静态资源公共库加载常用的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 
1个入参
1个入参

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
2个入参
2个入参

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
3个入参
3个入参

笔者为TDP成员,点击了解TDP详情

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 可将本代码保存为dl_cdn.sh
  • 脚本有三种入参方式
    • 1.把文件下载到默认路径
      • 2.把文件下载到指定路径
        • 3.把文件下载到指定路径,并指定文件名
        相关产品与服务
        TencentOS Server
        TencentOS Server 是腾讯云推出的 Linux 操作系统,它旨在为云上运行的应用程序提供稳定、安全和高性能的执行环境。它可以运行在腾讯云 CVM 全规格实例上,包括黑石物理服务器2.0。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档