xshell脚本,测带宽

测网络带宽
帮写一个xshell脚本,测网络带宽每半小时执行一次把带宽信息放入日志文件中
#!/bin/bash

network_log_file_name=/home/root/network_status.log                # 网络日志文件
network_log_backup_file_name=/home/root/network_status_backup.log  # 网络日志备份文件 
network_log_max_size=(512)  # 限制log文件的大小,单位是字节

nic="eth0"
ip="10.10.51.1"  # ping的IP
poll_intervel=5  # ping的间隔, 单位是秒


while true
do
    sleep $poll_intervel

    # 发送ping命令测试网络状态, 发送5次, 超时时间为1s, 默认发送间隔为1s
    lost_rate=`ping -c 5 -W 1 $ip | grep 'packet loss' \
                | awk -F 'packet loss' '{ print $1 }' \
                    | awk '{ print $NF }' | sed 's/%//g'`
 
    # 获取系统时间
    time="`date '+%Y-%m-%d %H:%M:%S'`"

    echo $lost_rate
    if [ $lost_rate -lt 100 ]
    then
        echo "$time, $ip $nic, loss_rate=$lost_rate" >> $network_log_file_name
    else
        echo "$time, $ip $nic, lost_rate=$lost_rate, restart network" >> $network_log_file_name

        ifconfig $nic down # 卸载网卡
        sleep 1
        ifconfig $nic up   # 重新加载网卡
        sleep 5
    fi

    # 获取文件大小,单位是字节
    file_size=`ls -l $network_log_file_name | awk '{print $5}'` # 获取文件大小,单位是字节
    if [ $file_size -gt $network_log_max_size ] # 文件大小超过了限定的大小
    then
        if [ -f $network_log_backup_file_name ] # 如果备份文件存在
        then
            rm $network_log_backup_file_name
        fi
            
        cp $network_log_file_name $network_log_backup_file_name  # 将日志文件备份
        rm $network_log_file_name #删除超过限定大小的日志文件
    fi
done