핑 대기 시간이 낮은 서버 찾기(내 스크립트이지만 누구든지 Perl로 작성할 수 있습니까?)

핑 대기 시간이 낮은 서버 찾기(내 스크립트이지만 누구든지 Perl로 작성할 수 있습니까?)

OpenBSD를 FTP를 통해 스크립트로 다운로드하고 싶은데, 가까운 서버에서 다운로드하고 싶습니다. 그래서 저는 "ping 대기 시간"이 낮은 미러를 선택하고 싶습니다. 나는 매우 잘 작동하는 작은 스크립트를 작성했습니다(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 (더 작고 더 좋은 코드가 있나요?)

이 스크립트의 주요 목적은 외부 대역폭을 사용하는 것이 아닙니다.

답변1

올바른 거울을 선택하는 가장 쉬운 방법은 다음과 같습니다.네트워크 선택. 이 -s 3옵션을 사용하여 최상의 서버 3개를 선택하도록 지시할 수 있습니다.

관련 정보