shell 同时执行多任务下载视频

简介: shell 同时执行多任务下载视频

本文为博主原创,转载请注明出处:

  shell 脚本不支持多线程,但我们需要用shell 脚本同时跑多个任务时怎么让这些任务并发同时进行,可以采用在每个任务 后面 添加一个  & ,让其在后台运行,相互之间不影响;

   这边的使用场景是 需要用shell 脚本同时下载很多个视频,如果用shell 脚本一个一个进行下载则很慢,所以考虑用shell 的& 同时执行下载任务;

  1. 寻找一个可无限下载视频的地址;由于 腾讯视频,优酷视频等视频下载时,都需要登录,通过翻阅各种网站,

    找到一个 可以无限下载视频的网址:https://mixkit.co/free-stock-video/ ; 点开该网址,随便点击打开一个网站,如下所示,找到视频地址:

                     

   通过界面找寻到一个视频下载链接 如下: https://assets.mixkit.co/videos/preview/mixkit-countryside-meadow-4077-large.mp4

   查看很多视频之后,发现这个网站对同一个分类的视频,按照序号递增的方式进行命名的,所以只需要找到 一个文件下载路径之后,就可以修改路径中的数字,获得新的下载链接进行下载;


  2. 编写shell 脚本进行下载:

    思路:将下载的链接放入到一个文件中,shell 脚本不断遍历文件中的url 链接,进行后台同时并发下载:

    创建 downloadUrl.txt ,并放入 文件路径:

https://assets.mixkit.co/videos/preview/mixkit-countryside-meadow-4074-large.mp4

https://assets.mixkit.co/videos/preview/mixkit-countryside-meadow-4075-large.mp4

https://assets.mixkit.co/videos/preview/mixkit-countryside-meadow-4076-large.mp4

https://assets.mixkit.co/videos/preview/mixkit-countryside-meadow-4077-large.mp4

    创建 download.sh , 脚本与 downloadUrl.txt 位于同一个目录,脚本内容如下:

#!/bin/bash
for content in `cat downloadUrl.txt`
do
{
    wget $content
}&
done

  3. 执行脚本如下:

sh download.sh

  

 

  运行之后就会发现,会同时执行下载任务,从而实现并发下载


 

标签: linux

目录
相关文章
|
6月前
|
Shell Linux
shell 脚本常用于自动化执行文件备份与压缩的任务
shell 脚本常用于自动化执行文件备份与压缩的任务
71 1
|
6月前
|
Unix Shell Linux
在Unix/Linux操作系统中,Shell脚本广泛用于自动化任务
在Unix/Linux操作系统中,Shell脚本广泛用于自动化任务
69 2
|
1月前
|
存储 运维 监控
自动化运维:使用Shell脚本简化日常任务
【9月更文挑战第35天】在IT运维的日常工作中,重复性的任务往往消耗大量的时间。本文将介绍如何通过编写简单的Shell脚本来自动化这些日常任务,从而提升效率。我们将一起探索Shell脚本的基础语法,并通过实际案例展示如何应用这些知识来创建有用的自动化工具。无论你是新手还是有一定经验的运维人员,这篇文章都会为你提供新的视角和技巧,让你的工作更加轻松。
49 2
|
5月前
|
Shell UED Python
Shell 循环语句:重复任务的自动化利器
在Shell脚本中,循环语句如`while`和`for`是自动化任务的关键。`while`循环在条件满足时执行,例如计算1到100的和;`for-in`循环遍历列表,可用于迭代指定数值或命令输出,如求1到100的和。`select-in`循环提供交互式菜单,增强脚本用户体验。理解并运用这些循环能提升脚本效率和可读性。现在,动手试试吧!
54 2
|
存储 Oracle 关系型数据库
使用shell在Linux系统下下载cmip6文件出现报错:No ESG Credentials found in /Users/daniele/.esg/credentials.pem
如何解决Linux系统下下载cmip6模式数据出现的报错:No ESG Credentials found in ***/credentials.pem
使用shell在Linux系统下下载cmip6文件出现报错:No ESG Credentials found in /Users/daniele/.esg/credentials.pem
|
运维 Shell Linux
《Shell 脚本速查手册》电子版下载地址
编写Bash脚本耗时长?不稳定?有妙招!阿里云开发者社区和linux中国开源社区联手推出《Shell脚本速查手册》,为运维工程师提供一个快速、便捷的查询手册,以共开发者查询自己日常工作中常用的命令和脚本。
180 0
《Shell 脚本速查手册》电子版下载地址
|
安全 算法 Unix
Linux 常用命令(文件传输、网络通讯、软件包下载与安装、Shell 脚本编程常用命令)大全(三)
Linux 常用命令(文件传输、网络通讯、软件包下载与安装、Shell 脚本编程常用命令)大全(三)
901 0
|
运维 Shell Linux
《Shell 脚本速查手册》电子版下载
编写Bash脚本耗时长?不稳定?有妙招!阿里云开发者社区和linux中国开源社区联手推出《Shell脚本速查手册》,为运维工程师提供一个快速、便捷的查询手册,以共开发者查询自己日常工作中常用的命令和脚本。
151 0
《Shell 脚本速查手册》电子版下载
|
SQL Shell Linux
如何用crontab每隔1分钟执行一个命令行脚本,shell设定时任务
如何用crontab每隔1分钟执行一个命令行脚本,shell设定时任务
866 0
如何用crontab每隔1分钟执行一个命令行脚本,shell设定时任务
|
Shell 数据格式
【shell脚本】如何在不同时间段,执行任务
基于shell脚本,实现在不同时间段,执行任务。
2420 0