Blog.wlens.top
    463  字
  2  分钟 
  动态IP监控:用 Telegram Bot 定时获取并通知你的公网IP 
  
  动态IP监控:用 Telegram Bot 定时获取并通知你的公网IP
本教程介绍如何编写脚本监控当前的公网 IPv4 和 IPv6 地址,并定时通过 Telegram Bot 发送 IP 信息。
准备工作
- Telegram Bot: 需要创建一个 Telegram Bot,并获取 Bot API Token。
- Chat ID: 需要获取 Chat ID,用于接收 Telegram 消息。
- 服务器: 一台运行 Linux 的服务器 。
创建脚本
- 
创建脚本文件: Terminal window sudo nano ip_notifier.sh
- 
复制脚本内容: #!/bin/bash# Telegram Bot API Token 和 Chat IDBOT_TOKEN="your_bot_token_here" # 替换为你的 Bot TokenCHAT_ID="your_chat_id_here" # 替换为你的 Chat ID# 获取公网 IPv4 和 IPv6IPV4=$(curl -4 -s https://ifconfig.co)IPV6=$(curl -6 -s https://ifconfig.co)# 组装要发送的消息MESSAGE="Public IP update for $(hostname):%0AIPv4: ${IPV4:-Unavailable}%0AIPv6: ${IPV6:-Unavailable}"# 发送到 Telegramcurl -s --data "chat_id=$CHAT_ID&text=$MESSAGE" "https://api.telegram.org/bot$BOT_TOKEN/sendMessage" > /dev/null说明: - BOT_TOKEN: 替换为你创建的 Telegram Bot 的 API Token。
- CHAT_ID: 替换为你要接收消息的 Chat ID。
- ifconfig.co: 可替换为其他获取公网 IP 的服务。
- $(hostname): 获取服务器主机名。
- > /dev/null: 防止输出到标准输出。
 
- 
赋予脚本执行权限: Terminal window sudo chmod +x ip_notifier.sh
添加 Cron 任务
- 
打开 Cron 任务编辑器: Terminal window sudo crontab -e
- 
添加 Cron 任务: 在 crontab 文件中添加以下行: 0 * * * * /usr/local/bin/ip_notifier.sh说明: - 0 * * * *: 每小时的第 0 分钟执行。
- /usr/local/bin/ip_notifier.sh: 脚本的完整路径。 如果- ip_notifier.sh放在其他目录,需要修改为正确的路径。
 
测试
- 
手动执行脚本: Terminal window ./ip_notifier.sh检查是否收到 Telegram 消息。 
- 
等待 Cron 任务执行: 按照 Cron 表达式,脚本将会每小时执行一次,并向 Telegram 发送 IP 信息。 
注意事项:
- 确保 ip_notifier.sh文件在/usr/local/bin/目录下,或者修改 Cron 任务中的路径。
- 如果 Cron 任务没有执行,检查 Cron 任务的语法是否正确,并检查 ip_notifier.sh文件的权限。
- 根据实际需求调整 Cron 任务的频率。
 动态IP监控:用 Telegram Bot 定时获取并通知你的公网IP 
  https://blog.wlens.top/posts/动态ip的主机定时发送ip信息到telegram-bot/     
  