目 录CONTENT

文章目录

分享一个批量下载服务器文件的脚本

小张的探险日记
2023-03-17 / 0 评论 / 0 点赞 / 560 阅读 / 1,535 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2023-04-27,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

场景

需要下载服务的文件(从数据库查询出来的指定的文件),且文件是可以通过浏览器访问的。

脚本实现

#!/bin/bash

file_list=(file1.txt file2.txt file3.txt)
base_url="http://example.com/files/"
target_dir="/path/to/target/directory"

for file in "${file_list[@]}"
do
    url="$base_url$file"
    echo "Downloading $url"
    wget "$url" -P "$target_dir"
done


该脚本使用wget命令从指定URL下载文件,并将它们保存到指定的目标目录中。如果您更喜欢使用curl,您可以将命令替换为:

curl -o "$target_dir/$file" "$url"

如果你下载的网站是https的,那么你有可能出现如下问题:

下载失败

image.png

一种解决方法是使用"-k"或"--insecure"选项来禁用SSL证书验证。例如:

curl -k -o image.jpg https://example.com/image.jpg

另一种解决方法是使用"-cacert"选项来指定证书文件的路径。例如:

curl --cacert /path/to/certificate.crt -o image.jpg https://example.com/image.jpg

我本地是 MacOs,新建一个sh脚本,download.sh,然后执行 sh ./download.sh 后效果如下

image.png

因为我本地只有 curl 命令,没有wget命令,所以采用 curl方式下载

#!/bin/bash

file_list=(
ogpfflpz-20230316-wbn0a01u.png
iyyaaxjd-20230316-a4xvb8wh.png
ihctvgln-20230316-exvkc2au.png
ztveqkjj-20230316-uaiisun4.png
kpyquizc-20230316-vvy8sjp8.png
ccluwzhe-20230316-4j2ofgip.png
ecsjouwq-20230316-yt2psd68.png
yxfsdefd-20230316-rok3vmf3.png
WechatIMG4-20230320-kgmxgs7q.png
bzpedmwv-20230320-jwu8u5bc.png
boxhpmyk-20230315-f978gzrk.png
skzpqjot-20230315-mgqjof61.png
pibutgyr-20230315-8ahbdd25.png
kpxgphal-20230315-z7d1vzez.png

    )
base_url="http://hz-zh-tst.hz-serve.com/preview/zh/static/image/"
target_dir="/Users/zhangburui/Documents/temp/zh"

for file in "${file_list[@]}"
do
    url="$base_url$file"
    echo "Downloading $url"
    curl -o "$target_dir/$file" "$url"
done





0

评论区