DDNS の更新スクリプトに Pit 使ってみた。
DDNS の更新って凄く簡単なんだけど、前回から IP アドレス変ったかどうかとか
泥臭くファイルに取っておいたりする処理書くのがめんどくさかったりするんだけど
Pit でやってみたらシンプルだったので貼ってみる。
#!/usr/bin/env python # -*- coding: utf-8 -*- import urllib2, urllib, logging, os from pit import Pit logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(levelname)s %(message)s', filename='/var/log/dns.log', filemode='a') if __name__ == '__main__': now_ip = urllib2.urlopen('http://dyn.value-domain.com/cgi-bin/dyn.fcg?ip').read() config = Pit.get('www.example.com',{'require':{'password':'password','ipaddress':'ipaddress'}}) if now_ip != config.get('ipaddress'): logging.info('!!change!!') Pit.set('www.example.com',{'data' : {'password':config['password'],'ipaddress':now_ip}}) params = { 'd':'example.com', 'h':'www', 'p':config['password'] } result = urllib2.urlopen('http://dyn.value-domain.com/cgi-bin/dyn.fcg?' + urllib.urlencode(params)).read() logging.info(result) logging.info('ipaddress is ' + now_ip)
DDNS 業者によって多少違うだろうけど、こんな感じで出来ますた。
一個だけのモノを保持する簡易 DB としても Pit 使えますよって事で