scp 测速脚本

#!/bin/bash
# scp-speed-test.sh
#
# Usage:
#   ./scp-speed-test.sh user@hostname [test file size in MBs]
#
#############################################################
 
ssh_server=$1
test_file=".scp-test-file"
 
# Optional: user specified test file size in MBs
if test -z "$2"
then
  # default size is 10MB
  test_size="10"
else
  test_size=$2
fi
 
 
# generate a file of all zeros
echo "Generating $test_size MB test file..."
dd if=/dev/zero of=$test_file bs=$(echo "$test_size*1024*1024" | bc) \
  count=1 &> /dev/null
# upload test
echo "Testing upload to $ssh_server..."
up_speed=$(scp -v $test_file $ssh_server:$test_file 2>&1 | \
  grep "Bytes per second" | \
  sed "s/^[^0-9]*\([0-9.]*\)[^0-9]*\([0-9.]*\).*$/\1/g")
up_speed=$(echo "($up_speed/1000000)" | bc)
 
# download test
echo "Testing download from $ssh_server..."
down_speed=$(scp -v $ssh_server:$test_file $test_file 2>&1 | \
  grep "Bytes per second" | \
  sed "s/^[^0-9]*\([0-9.]*\)[^0-9]*\([0-9.]*\).*$/\2/g")
down_speed=$(echo "($down_speed/1000000)" | bc)
 
# clean up
echo "Removing test file on $ssh_server..."
ssh $ssh_server "rm $test_file"
echo "Removing test file locally..."
rm $test_file
 
 
# print result
echo ""
echo "Upload speed:   $up_speed mbps"
echo "Download speed: $down_speed mbps"

 

posted @ 2021-05-29 21:32  Macoffee  阅读(382)  评论(0编辑  收藏  举报