ValueDomainのダイナミックDNSを更新するGroovyスクリプト

参考: http://blog.iwa-ya.net/2009/10/13/114906

groovyを勉強中なのでgroovyで書いてみた。

def domain = 'example.com'
def password = 'xxxxxxx'
def hosts = ['*','@']

newIpAddress = new URL('http://dyn.value-domain.com/cgi-bin/dyn.fcg?ip').getText()
curIpAddress = InetAddress.getByName(domain).hostAddress

if (newIpAddress != curIpAddress) {
    date = new Date()
    println "$date newIpAddress:$newIpAddress curIpAddress:$curIpAddress"
    hosts.each { host ->
        response = new URL("http://dyn.value-domain.com/cgi-bin/dyn.fcg?d=$domain&p=$password&h=$host&i=$newIpAddress").getText();
        println response
    }
}

cronに適当に登録

* * * * * /usr/local/groovy/bin/groovy /mnt/drbd/ddns/ddns_updater.groovy >> /var/log/ddns.log 2>&1