代码之家  ›  专栏  ›  技术社区  ›  Shiro

Bash如何按顺序(非并行)运行多个wget并删除wget文件以进行speedtest

  •  0
  • Shiro  · 技术社区  · 4 年前

    我有一个文件下载wget列表,想看看下载速度。我只想运行大约10秒,然后打印出结果什么是下载速度。 我有20个不同的服务器文件要测试。我的目标是在这10秒钟内查看kb/s的下载速度。

    > wget https://lg-lis.fdcservers.net/100MBtest.zip                                                          
    --2021-05-08 13:37:37--  https://lg-lis.fdcservers.net/100MBtest.zip
    Resolving lg-lis.fdcservers.net (lg-lis.fdcservers.net)... 50.7.43.4
    Connecting to lg-lis.fdcservers.net (lg-lis.fdcservers.net)|50.7.43.4|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 104857600 (100M) [application/zip]
    Saving to: ‘100MBtest.zip’
    
    100MBtest.zip                      0%[                                                         ] 679.66K   174KB/s    eta 9m 26s ^C
    

    这是我的bash文件

    #!/bin/bash
    
    function speedtest() {
    
        local key=$1
        local url=$2
    
        timeout 10 wget $url
        echo -e "\033[40;32;1m$key is completed.\033[0m"
    
     
    }
    speedtest "Lisbon" "https://lg-lis.fdcservers.net/100MBtest.zip"
    speedtest "London" "https://lg-lon.fdcservers.net/100MBtest.zip"
    speedtest "Madrid" "https://lg-mad.fdcservers.net/100MBtest.zip"
    speedtest "Paris" "https://lg-par2.fdcservers.net/100MBtest.zip"
    

    > ./wget_speedtest.sh                                                                                       
    
    
    Redirecting output to ‘wget-log’.
    
    Lisbon is completed.
    
    Redirecting output to ‘wget-log.1’.
    London is completed.
    
    Redirecting output to ‘wget-log.2’.
    Madrid is completed.
    
    Redirecting output to ‘wget-log.3’.
    Paris is completed.
    

    上面的输出,我看不到下载速度。


    ,下面是我每次手动运行4个命令,我希望通过运行 一次狂欢 然后运行wget 删除下载的文件 . 例如100MBtest.zip

    » timeout 10 wget "https://lg-lis.fdcservers.net/100MBtest.zip"                                             
    --2021-05-08 16:03:07--  https://lg-lis.fdcservers.net/100MBtest.zip
    Resolving lg-lis.fdcservers.net (lg-lis.fdcservers.net)... 50.7.43.4
    Connecting to lg-lis.fdcservers.net (lg-lis.fdcservers.net)|50.7.43.4|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 104857600 (100M) [application/zip]
    Saving to: ‘100MBtest.zip’
    
    100MBtest.zip                      2%[>                                                        ]   2.65M   340KB/s    eta 4m 59s %
    
    » timeout 10 wget "https://lg-lon.fdcservers.net/100MBtest.zip"                                             
    --2021-05-08 16:03:21--  https://lg-lon.fdcservers.net/100MBtest.zip
    Resolving lg-lon.fdcservers.net (lg-lon.fdcservers.net)... 50.7.152.4
    Connecting to lg-lon.fdcservers.net (lg-lon.fdcservers.net)|50.7.152.4|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 104857600 (100M) [application/zip]
    Saving to: ‘100MBtest.zip.1’
    
    100MBtest.zip.1                    0%[                                                         ] 983.66K   105KB/s    eta 13m 54s%
    
    » timeout 10 wget "https://lg-mad.fdcservers.net/100MBtest.zip"                                             
    --2021-05-08 16:03:35--  https://lg-mad.fdcservers.net/100MBtest.zip
    Resolving lg-mad.fdcservers.net (lg-mad.fdcservers.net)... 50.7.80.4
    Connecting to lg-mad.fdcservers.net (lg-mad.fdcservers.net)|50.7.80.4|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 104857600 (100M) [application/zip]
    Saving to: ‘100MBtest.zip.2’
    
    100MBtest.zip.2                    1%[                                                         ]   1.10M   139KB/s    eta 12m 50s%
    
    » timeout 10 wget "https://lg-par2.fdcservers.net/100MBtest.zip"                                            
    --2021-05-08 16:03:50--  https://lg-par2.fdcservers.net/100MBtest.zip
    Resolving lg-par2.fdcservers.net (lg-par2.fdcservers.net)... 50.7.33.4
    Connecting to lg-par2.fdcservers.net (lg-par2.fdcservers.net)|50.7.33.4|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 104857600 (100M) [application/zip]
    Saving to: ‘100MBtest.zip.3’
    
    100MBtest.zip.3                    2%[>                                                        ]   2.63M   339KB/s    eta 5m 0s  %
    

    我尝试将命令和run结合在一起,它同时运行所有4个命令,并且只有1个输出。

    » timeout 10 wget "https://lg-lis.fdcservers.net/100MBtest.zip" &&                                          
    timeout 10 wget "https://lg-lon.fdcservers.net/100MBtest.zip" &&
    timeout 10 wget "https://lg-mad.fdcservers.net/100MBtest.zip" &&
    timeout 10 wget "https://lg-par2.fdcservers.net/100MBtest.zip"
    
    --2021-05-08 16:15:09--  https://lg-lis.fdcservers.net/100MBtest.zip
    Resolving lg-lis.fdcservers.net (lg-lis.fdcservers.net)... 50.7.43.4
    Connecting to lg-lis.fdcservers.net (lg-lis.fdcservers.net)|50.7.43.4|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 104857600 (100M) [application/zip]
    Saving to: ‘100MBtest.zip.4’
    
    100MBtest.zip.4                    0%[                                                         ] 951.66K   129KB/s    eta 14m 23s%
    » 
    
    1 回复  |  直到 4 年前
        1
  •  1
  •   Cyrus    4 年前

    替换 10 具有 --foreground 10


    请参见: man timeout