0

我正在切换 DNS 服务器,我想编写一个简短的 ruby​​ 脚本,该脚本每 10 秒运行一次,并在我的网站解析为不同的 IP 后立即触发本地 Mac OS X 系统通知。

使用终端通知器发送系统通知就这么简单

terminal-notifier -message "DNS Changed"

我想在输出后立即触发它

ping -i 10 mywebsite.com

... 更改或不再包含已定义的 IP 字符串。

> 64 bytes from 12.34.56.789: icmp_seq=33 ttl=41 time=241.564 ms

在本例中为“12.34.56.789”。

  • 如何监控ping -i 10 mywebsite.com的输出字符串的变化,并在检测到变化后调用通知函数?

我认为在等待 DNS 更新时这可能是一个不错的做法。

4

1 回答 1

1

尝试这个:

IP = "12.34.56.789"
p = IO.popen("ping -i 10 mywebsite.com")
p.each_line do |l|
  if(! l =~ /from #{IP}/) #The IP has changed
    system("terminal-notifier -message \"DNS Changed\"")
  end
end
于 2013-03-06T14:31:50.243 回答