返回顶部
首页 > 资讯 > 服务器 >Shell脚本实现检测Cygwin最快的镜像站点
  • 893
分享到

Shell脚本实现检测Cygwin最快的镜像站点

镜像脚本最快 2022-06-04 21:06:29 893人浏览 独家记忆
摘要

这是一个 shell 脚本,所以首先你需要安装一个基本的 Cygwin 环境,当然还有 curl。 原理很简单,先从 cygwin.com 下载最新的 mirrors.lst 镜像列表,简单处理一下后,利用

这是一个 shell 脚本,所以首先你需要安装一个基本的 Cygwin 环境,当然还有 curl。

原理很简单,先从 cygwin.com 下载最新的 mirrors.lst 镜像列表,简单处理一下后,利用 curl 以此检测每个站点的连接速度,并将结果记录下来,最后再排个序,显示出最快的几个站点。

在使用的过程中,我发现检测到的最快的 mirror,实际上使用速度并不一定是最快的,这可能和服务器有关系,毕竟 curl 检测的时间只是读取 mirror 首页的时间。不过每个 mirror 一般都有两组服务器——Http & ftp,如果其中一个速度不怎么样,那么可以选择另外一个试试看。

#!/bin/sh

 

# cygwin-mirrors.sh

# 该脚本用于查找 Cygwin 的最快镜像

 

timeout=5           # 超时时间

mirrors_count=5     # 显示最快的几个镜像

PROG=`basename $0`  # 程序名称

 

## 显示 usage

_usage() {

    echo "Usage: ${PROG} [-t <timeout>] [-p <mirrors_count>] [-h]"

    exit

}

 

## 检查参数并赋值

_assign() {

    if [ "$1" == "timeout" -o "$1" == "mirrors_count" ]; then

        if [[ "$2" =~ ^[[:digit:]]+$ ]]; then

            let $1=$2

        else

            echo "$1 should be a number"

            exit 1

        fi

    fi

}

 

## 处理参数

while getopts ":t:p:h-:" optval

do

    case "$optval" in

        t)   _assign timeout ${OPTARG} ;;

        p)   _assign mirrors_count ${OPTARG} ;;

        h)   _usage ;;

        "-") echo "Unknown option: '--${OPTARG}'" >&2;            _usage ;;

        ":") echo "Option '-${OPTARG}' requires an argument" >&2; _usage ;;

        "?") echo "Unknown option: '-${OPTARG}'" >&2;             _usage ;;

        ## Should not occur

        *)   echo "Unknown error while processing options" >&2;   _usage ;;

    esac

done

shift $(expr ${OPTIND} - 1)

 

## 检查用户是否安装了 curl

CURL=`which curl 2> /dev/null`

[ -z "$CURL" ] && (echo "Need to install the curl package."; exit 1)

 

## 读取镜像站点

mirrors=`curl --silent http://cygwin.com/mirrors.lst | cut -d';' -f1`

 

## 使用 CURL 依次检测时间

results=''

for mirror in $mirrors; do

    echo -n "Checking ${mirror} ... "

    time=`curl -m $timeout -s -o /dev/null -w %{time_total} $mirror`

    if [ "$time" = "0.000" ]; then

        echo -e "e[31mfaile[0m"

    else

        echo -e "e[32m$timee[0m"

        results="${results}e[32m${time}e[0m - ${mirror}n"

    fi

done

 

echo -e "n检测结果:"

echo -e $results | sort -n | sed '1d' | head -$mirrors_count

 

# vim: set expandtab tabstop=4 shiftwidth=4:

--结束END--

本文标题: Shell脚本实现检测Cygwin最快的镜像站点

本文链接: https://lsjlt.com/news/18452.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Shell脚本实现检测Cygwin最快的镜像站点
    这是一个 shell 脚本,所以首先你需要安装一个基本的 Cygwin 环境,当然还有 curl。 原理很简单,先从 cygwin.com 下载最新的 mirrors.lst 镜像列表,简单处理一下后,利用...
    99+
    2022-06-04
    镜像 脚本 最快
  • Shell脚本实现自动检测修改最快的Ubuntu软件源
    每次装好Ubuntu,对于大多数用户来说,首先要做的事就是手动修改/etc/apt/sources.list文件,将里面的官方软件源地址更换为自己学校或者公司的软件源。当我们更换一个工作环境后,可能伴随着又...
    99+
    2022-06-04
    脚本 自动检测 最快
  • Linux Shell脚本实现检测tomcat
    Linux Shell脚本检测tomcat并自动重启 后台运行命令 sh xxx.sh & 查看后台任务:jobs 召唤到前台:fg jobs编号 可以删掉while循环的代码放到crontab里面定时...
    99+
    2022-06-04
    脚本 Linux Shell
  • 如何编写Shell脚本实现自动检测修改最快的Ubuntu软件源
    这篇文章主要讲解了“如何编写Shell脚本实现自动检测修改最快的Ubuntu软件源”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何编写Shell脚本实现自动检测修改最快的Ubuntu软件源...
    99+
    2023-06-09
  • shell脚本实现实时检测文件变更
    使用python做web开发,现在流行使用uwsgi调用python程序,但是使用uwsgi一段时间发现有一个弊端,就是每次更改源代码后必须重启uwsgi才能生效,包括更改模板文件也是,我是个懒人,再经过一...
    99+
    2022-06-04
    脚本 实时 文件
  • shell脚本怎么实现实时检测文件变更
    这篇文章主要讲解了“shell脚本怎么实现实时检测文件变更”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“shell脚本怎么实现实时检测文件变更”吧!使用python做web开发,现在流行使用...
    99+
    2023-06-09
  • 如何实现检测网站down掉后自动发信的shell脚本代码
    小编给大家分享一下如何实现检测网站down掉后自动发信的shell脚本代码,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!代码如下:#!/bin/bash#website test scriptswhil...
    99+
    2023-06-09
  • shell脚本实现linux系统文件完整性检测
    今天发现个可以检测系统文件完整性的shell脚本,自己试了下还可以吧,介绍给大家。 系统:centos 5.x 脚本内容: cat my_filecheck.sh #!/bin/bash # # 变...
    99+
    2022-06-04
    脚本 完整性 文件
  • Shell脚本实现检测进程是否正在运行
    这里简单介绍一个自己写的检测某个进程是否存在的bash小脚本。直接上代码。 #!/bin/bash ps_out=`ps -ef | grep $1 | grep -v 'grep' | grep -v...
    99+
    2022-06-04
    脚本 正在运行 进程
  • 检测网站down掉后自动发信的shell脚本代码
    #!/bin/bash#website test scriptswhile true;do for cycle_temp in `cat url_list` do ...
    99+
    2022-06-04
    脚本 代码 网站
  • Shell+Curl网站状态检查脚本 抓出无法访问的站点
    一开始搭建中国博客联盟,既有博友提醒我,做网址大全这类网站维护很麻烦,需要大量的精力去Debug一些已夭折的网站,更是拿松哥的博客大全举例。当然,我也是深以为然。前些时间,看到梦轩丽人的boke123网址大...
    99+
    2022-06-04
    脚本 抓出 无法访问
  • 如何实现sysbench压测MyCAT的shell脚本
    小编给大家分享一下如何实现sysbench压测MyCAT的shell脚本,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2024-04-02
  • shell脚本实现自动化下载并检测ftp文件备份
    本篇内容介绍了“shell脚本实现自动化下载并检测ftp文件备份”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!实现代码:#!/bin/bas...
    99+
    2023-06-09
  • 如何用shell脚本实现linux系统文件完整性检测
    这篇文章主要介绍“如何用shell脚本实现linux系统文件完整性检测”,在日常操作中,相信很多人在如何用shell脚本实现linux系统文件完整性检测问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用sh...
    99+
    2023-06-09
  • 如何使用MD5的检测方法以及shell脚本实现linux系统文件完整性检测
    如何使用MD5的检测方法以及shell脚本实现linux系统文件完整性检测,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。今天发现个可以检测系统文件完整性的shell脚本,自...
    99+
    2023-06-06
  • Shell脚本实现检测文件是否被修改过代码分享
    #!/bin/bash funmd5_1() { find /root/passwd -type f | xargs md5sum > /tmp/funmd5_1.log } funmd5_2() ...
    99+
    2022-06-04
    脚本 代码 文件
  • shell实现自动adsl拨号并检测连接状况脚本分享
    今天公司同事要我整个adsl自动重拨的shell,并检测是否连上了,这样才能保证内部测试服务器不掉网,好吧,下面我把脚本发出来. 系统:centos 5.x 脚本1: cat /root/soft_she...
    99+
    2022-06-04
    脚本 状况 shell
  • 如何编写Shell脚本实现检测某ip网络畅通情况
    这篇文章主要介绍“如何编写Shell脚本实现检测某ip网络畅通情况”,在日常操作中,相信很多人在如何编写Shell脚本实现检测某ip网络畅通情况问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何编写Shell...
    99+
    2023-06-09
  • 怎么用Shell脚本实现检测文件是否被修改过的功能
    本篇内容介绍了“怎么用Shell脚本实现检测文件是否被修改过的功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!#!/bin/bashfun...
    99+
    2023-06-09
  • 如何用shell实现自动adsl拨号并检测连接状况脚本
    这篇文章主要介绍“如何用shell实现自动adsl拨号并检测连接状况脚本”,在日常操作中,相信很多人在如何用shell实现自动adsl拨号并检测连接状况脚本问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作