可以使用以下的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个小时分割一次日志文件,以便于管理和查看。