Linux测试长ping脚本

发布时间 2023-03-31 16:15:12作者: 清越′

可以使用以下的shell脚本来进行长时间ping测试并输出每秒的时间并重定向到文件里,每5个小时分割一次,并且简化输出内容:

#!/bin/bash

# 设置ping的目标IP地址
target_ip="192.168.1.1"

# 设置文件名和路径
filename="ping.log"
filepath="/path/to/log/directory/"

# 创建日志文件
touch "${filepath}${filename}"

# 循环进行ping测试并输出每秒的时间并重定向到文件里
while true
do
    now=$(date +"%Y-%m-%d %H:%M:%S")
    ping_result=$(ping -c 1 "${target_ip}" | grep "time=" | awk '{print $7}')
    echo "${now} ${ping_result}" >> "${filepath}${filename}"
    sleep 1
done

# 每5个小时分割一次日志文件
while true
do
    now=$(date +"%Y-%m-%d %H:%M:%S")
    if [[ $now == *"00:00:00"* ]]; then
        mv "${filepath}${filename}" "${filepath}${filename}_${now}.log"
        touch "${filepath}${filename}"
    fi
    sleep 60
done

这个脚本会先设置ping的目标IP地址,然后创建一个日志文件。接着,它会循环进行ping测试并输出每秒的时间和ping测试结果(只输出时间),并将其重定向到文件里。最后,它还会每5个小时分割一次日志文件,以便于管理和查看。