Найти сервер с небольшой задержкой ping (мой скрипт, но может ли кто-нибудь написать его, например, Perl?)

Я хочу загрузить OpenBSD с FTP со сценарием, и я хочу загрузить его с сервера, который находится рядом со мной. Поэтому я хочу выбрать зеркало с низкой «задержкой пинга». Я написал небольшой скрипт, который работает просто отлично (тестируется только под bash / Linux):

LATESTRELVER=`curl -s 'www.openbsd.org' | fgrep 'The current release is ' | sed 's/OpenBSD /\n/' | sed 's/<\/a>/\n/' | grep "^[0-9]" | head -1` FASTESTSRV=`curl -s "http://www.openbsd.org/ftp.html#ftp" | fgrep '<a href="ftp://' | sed 's/"ftp:\/\//\n/' | cut -d "/" -f1 | fgrep -v '<a href=' | while read MIRRORSRVS; do ping -c 1 -w 1 $MIRRORSRVS 2>/dev/null | fgrep ' time=' | sed 's/ time=/\n/' | grep ' ms' | sed 's/ ms$/ /' | sed 's/\./ |/' | cut -d "|" -f1 | tr -d '\n'; if [ $? -eq 0 ]; then echo "$MIRRORSRVS"; fi; done | grep "^[0-9]" | sort -un | head -1 | awk '{print $2}'` LATESTRELVERSHORT=`echo $LATESTRELVER | sed 's/\.//g'` # NEEDEDARCH=i386 NEEDEDARCH=amd64 wget "$FASTESTSRV/pub/OpenBSD/$LATESTRELVER/$NEEDEDARCH/install$LATESTRELVERSHORT.iso" -O "install$LATESTRELVERSHORT-$NEEDEDARCH.iso" 

Q: Может кто-нибудь написать этот скрипт в Perl? : P (с меньшим, более приятным кодом?)

Основная цель этого скрипта, например, не использовать пропускную способность зарубежной страны.

  • Как удалить определенную строку из файла только в том случае, если в файле есть другие строки?
  • Регулярное выражение
  • Как я могу запустить mod_perl в Arch Linux?
  • как вычесть первое значение из последнего в столбце по строке в оболочке?
  • Разбор заголовков файла последовательности
  • запустить скрипт perl с неизвестным местоположением perl
  • как увидеть изменения, сделанные в большом скрипте perl, имеющем копию оригинала, который должен одновременно сравнивать как в разделенном gvim-редакторе
  • Как преодолеть разницу TZ на разных серверах?
  • One Solution collect form web for “Найти сервер с небольшой задержкой ping (мой скрипт, но может ли кто-нибудь написать его, например, Perl?)”

    Самый простой способ выбрать подходящие зеркала – это netselect . Вы можете использовать опцию -s 3 чтобы сказать ей выбрать 3 лучших сервера.

    Interesting Posts

    У меня нет закладки «Рабочий стол» в наутилусе, но в Thunar?

    Возможно, сломал установку Debian: 'sudo dpkg –configure -a' не будет запускаться

    Сетевые подключения не работают после перезапуска с помощью NetworkManager

    Обработка текста: замена строк в строке соответствующими строками

    Как grep перевернутый, не показывающий строки x до / после?

    Указание 2 разных путей к одному и тому же имени домена Apache

    Как анализировать файл данных для извлечения определенных данных и формата для другого использования?

    Объединить вывод команды вместе с входом

    Как добавить разрешение группы только для чтения в папку, у которой уже есть группа по умолчанию, и унаследовать ее для всех вновь созданных файлов и папок?

    Почему я не вижу пакеты при прослушивании моего ftp-порта с помощью tcpdump на localhost?

    Целевой каталог (/ etc) не доступен для записи текущим пользователем на недоступном

    Может ли компьютер Linux получать сканированные изображения со сканера с помощью WSD (Web Services on Devices)?

    Как сделать $ ORIGIN в RPATH не следовать символическим ссылкам?

    Имитировать запуск «make install» – утилиты «dry run» / simulator?

    Linux openssl CN / проверка имени хоста против SSL-сертификата

    Linux и Unix - лучшая ОС в мире.