0

DNS サーバーを切り替えています。10 秒ごとに実行され、Web サイトが別の IP に解決されるとすぐにローカルの Mac OS X システム通知をトリガーする短い Ruby スクリプトを作成したいと考えています。

システム通知を送信するterminal-notifier の使用は、これと同じくらい簡単です

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 に答える