用shell写一个speedtest多节点国内带宽测试脚本,可单独增加节点,详细代码
时间: 2024-03-12 10:43:28 浏览: 26
好的,以下是一个简单的speedtest多节点国内带宽测试脚本,可以通过传入参数来增加测试节点:
```bash
#!/bin/bash
# 使用 speedtest-cli 测试带宽
# 安装方法:pip install speedtest-cli
# 测试节点
nodes=("Shanghai" "Beijing" "Guangzhou")
if [ $# -gt 0 ]; then
nodes=("$@")
fi
# 测试结果输出文件
output_file="$(date +%Y%m%d%H%M%S).txt"
# 执行测试
for node in "${nodes[@]}"; do
echo "Testing $node..."
speedtest-cli --server "$node" --simple >> "$output_file"
done
echo "Test finished. Results are saved in $output_file."
```
使用方法:
1. 安装 `speedtest-cli`:`pip install speedtest-cli`。
2. 运行脚本并传入需要测试的节点名称,例如 `./speedtest.sh Shanghai Beijing`。
3. 测试结果会保存在一个以当前时间命名的文本文件中。
注意:需要确保测试节点名称正确,可以使用 `speedtest-cli --list` 命令查看可用节点列表。
相关问题
用shell脚本写一个计算带宽速率
以下是一个简单的shell脚本,可以计算带宽速率:
```shell
#!/bin/bash
# 获取当前时间戳
start=$(date +%s.%N)
# 执行下载操作,例如下载一个1GB的文件
wget -O /dev/null http://speedtest.tele2.net/1GB.zip
# 获取下载完成时间戳
end=$(date +%s.%N)
# 计算下载时间
duration=$(echo "$end - $start" | bc)
# 计算带宽速率
speed=$(echo "scale=2; 1000 / $duration / 1024 / 1024" | bc)
echo "下载完成,带宽速率为:$speed MB/s"
```
该脚本使用`wget`下载一个1GB的文件,并计算下载时间,最后计算带宽速率并输出结果。注意,该脚本需要`bc`命令支持,可以通过`sudo apt-get install bc`安装。
shell脚本写一个开关机疲劳测试脚本
以下是一个简单的开关机疲劳测试脚本,可以循环执行指定次数的开机、关机操作,并在每次操作后记录当前时间和系统状态。
```bash
#!/bin/bash
# 设置测试次数
test_count=10
# 循环执行测试
for (( i=1; i<=test_count; i++ ))
do
# 记录当前时间和系统状态
echo "Test $i - $(date)"
echo "System status: $(uptime)"
# 执行关机操作
echo "Shutting down..."
shutdown -h now
# 等待5秒
sleep 5
# 记录当前时间和系统状态
echo "System status: $(uptime)"
# 执行开机操作
echo "Booting up..."
poweroff -r now
# 等待5秒
sleep 5
done
```
该脚本会执行指定次数的测试,每次测试会先记录当前时间和系统状态,然后执行关机操作,等待5秒后记录系统状态,再执行开机操作,等待5秒后进入下一次循环。你可以根据需要调整测试次数和等待时间。