curl与git clone断点续传,自动重试
1. curl 断点续传
最近有一个大文件需要使用 curl 下载,但是下载速度很慢,要挂机很长时间,但是又怕 TCP 长连接被打断,因此写了一个自动重试的脚本。
1 | |
使用方法:
1 | |
例如执行 curl 大文件下载的命令
1 | |
可以改写为
1 | |
这样就可以保证下载失败时自动重试,直到下载成功为止(return 0)。
2. git clone 断点续传
同样使用以下脚本
1 | |
不过 git clone 和 curl 不同,不能简单的使用 ./retry.sh git clone 。具体流程如下
首先创建一个文件夹,用于存放下载的文件,在文件夹里运行
git init,初始化一个 git 仓库执行
git fetch https://example.com/example.git,下载文件
如果下载失败,会提示
fatal: unable to access ‘https://example.com/example.git/‘: Failed to connect to example.com port 443: Connection refused
此时就可以使用上面所说的脚本,自动重试,直到下载成功为止。
创建文件,将脚本内容粘贴进去
给脚本添加可执行权限
1 | |
- 执行脚本
1 | |
成功之后则可以进行下一步
执行
git checkout FETCH_HEAD执行
git remote add origin https://example.com/example.git执行
git pull origin master执行
git push -u origin master
curl与git clone断点续传,自动重试
https://nacldragon.top/2023/continue-download/