如何用 ftp 來測試網路傳輸速度的 Script
7 月.04, 2009 in MIS
自己的網路是使用 SeedNet 的
總是會想網路的頻寬是否有在正常狀態下
剛好 ISP 有提供透過 ftp 傳輸檔案來測試速度的服務
所以在 Linux 中寫 Shell Script 來自動跑測試流程
並將測試結果 Mail 給管理者
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | #!/bin/bash # # SeedNet Speed Test # SENDMAIL="Y" # Y or N MAILTO="xxx@xxx.xxx" LOGFILENAME="SeedNetLanSpeedTest.log" ### 開始 cd /tmp if [ -e $LOGFILENAME ] then echo -n > $LOGFILENAME fi ### 用 ftp 測試上傳與下傳速度 ftp -nv >> $LOGFILENAME 2>> $LOGFILENAME <<EOF open pftest3.seed.net.tw user ftp ftp hash get 10m.dat cd upload put 10m.dat bye EOF ### 取得傳輸速度 ## 10485760 bytes received in 7.6 seconds (1.3e+03 Kbytes/s) ## 10485760 bytes sent in 45 seconds (2.3e+02 Kbytes/s) echo -n > mail.log sed -n -e '/seconds/p' $LOGFILENAME >> mail.log ### EMail 傳輸速度報告 if [ $SENDMAIL = "Y" ] then mail -s "SeedNet Lan Speed Test Result" $MAILTO < mail.log fi rm $LOGFILENAME if [ -e "mail.log" ] then rm mail.log fi if [ -e "10m.dat" ] then rm 10m.dat fi |
真的太久沒寫了,有任何建議請指教。
手動執行後應該要收到 Mail 內容如下:
1 2 | 10485760 bytes received in 7.5 seconds (1.4e+03 Kbytes/s) 10485760 bytes sent in 41 seconds (2.5e+02 Kbytes/s) |
然後加入到 Cron 中定期執行收報告就可以了。
Leave a Reply