You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Bash实现每日动态IP列表的定时自动化Ping测试问询

解决方案:每日动态IP列表的定时Ping测试系统

我来帮你搭建一套完全符合需求的定时Ping测试方案,分核心脚本、定时任务和切换逻辑三个部分来实现:

1. 主Ping测试脚本 (ping.sh)

这个脚本负责读取传入的IP列表文件,每10分钟自动执行一轮Ping测试,同时把结果按日期归档到日志文件里,方便后续追溯。

#!/bin/bash

# 检查是否传入了IP列表参数,没传的话提示用法
if [ $# -ne 1 ]; then
    echo "用法: $0 <IP列表文件路径>"
    exit 1
fi

IP_LIST=$1
# 按当前日期生成日志文件名,比如ping_results_20240401.log
LOG_FILE="ping_results_$(date +%Y%m%d).log"

# 循环每10分钟执行一次Ping测试
while true; do
    echo "=== 测试启动时间: $(date '+%Y-%m-%d %H:%M:%S') ===" >> $LOG_FILE
    # 遍历IP列表,每个IP发4个Ping包(参数可按需调整)
    while read -r IP; do
        # 跳过空行
        if [[ -n $IP ]]; then
            ping -c 4 "$IP" >> $LOG_FILE 2>&1
            echo "--- 分割线 ---" >> $LOG_FILE
        fi
    done < "$IP_LIST"
    # 等待10分钟(600秒)后执行下一轮
    sleep 600
done

2. 每日IP切换辅助脚本 (switch_ping_task.sh)

每天0点自动生成新的IP列表,然后替换掉正在运行的Ping任务,确保用当天的新IP测试。

#!/bin/bash

# 生成当日的IP列表文件名,比如IPlist_20240401.txt
TODAY=$(date +%Y%m%d)
NEW_IP_LIST="IPlist_${TODAY}.txt"

# --- 这里替换成你的IP列表生成逻辑 ---
# 比如从数据库/API拉取100个IP,或者执行你的生成脚本
# example_generate_ip_script.sh > $NEW_IP_LIST
# --- 生成逻辑结束 ---

# 杀掉之前运行的ping.sh进程,避免多个实例同时跑
pkill -f "sh ping.sh"

# 后台启动新的Ping任务,把输出丢去/dev/null避免终端阻塞
nohup sh ping.sh "$NEW_IP_LIST" > /dev/null 2>&1 &

echo "已成功切换到当日IP列表: $NEW_IP_LIST,Ping任务已重启"

3. 配置定时任务(Crontab)

用系统的定时任务工具,让辅助脚本每天0点自动运行,同时确保脚本有权限执行。

  1. 编辑crontab配置:
crontab -e
  1. 添加以下内容:
# 每天0点整执行IP切换和Ping任务重启
0 0 * * * /绝对路径/switch_ping_task.sh

# 可选:开机自动给脚本加执行权限(防止权限丢失)
# @reboot chmod +x /绝对路径/ping.sh /绝对路径/switch_ping_task.sh

实用提示

  • 日志清理:如果日志文件占空间,可以再加个每周清理旧日志的定时任务,比如删除7天前的日志:
    0 0 * * 0 find /日志存放路径 -name "ping_results_*.log" -mtime +7 -delete
    
  • 首次启动:配置完后,手动跑一次辅助脚本,启动当天的Ping任务:
    sh switch_ping_task.sh &
    
  • IP列表校验:可以在辅助脚本里加一段校验,确保生成的IP列表正好有100个IP,避免无效测试:
    IP_COUNT=$(wc -l < "$NEW_IP_LIST")
    if [ $IP_COUNT -ne 100 ]; then
        echo "错误:生成的IP列表只有$IP_COUNT个,不是100个"
        exit 1
    fi
    

内容的提问来源于stack exchange,提问作者user183980

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:38:26