cronでやっていたダイナミックDNSの更新処理を、launchdへ置き換えてみた。
なんだか全く見当違いのことをしている可能性もあるのだけど、自分メモとして残しておけばいいかな。使っているダイナミックDNSサービスはDinamic DO!.jpの無料版。今まではCronniXを使ってcronの設定をしていたのだけれど、今回は勉強も兼ねてぜんぶ手打ち。
まず、curlコマンドを書いたplistを作る。実行間隔は週1回くらいでいいか。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>jp.ddo.foo.dnsupdate</string> <key>ProgramArguments</key> <array> <string>/usr/bin/curl</string> <string>-s</string> <string>-o</string> <string>/dev/null</string> <string>'http://free.ddo.jp/dnsupdate.php?dn=foo&pw=bar'</string> </array> <key>RunAtLoad</key> <true/> <key>StartCalendarInterval</key> <dict> <key>Hour</key> <integer>1</integer> <key>Minute</key> <integer>23</integer> <key>Weekday</key> <integer>4</integer> </dict> </dict> </plist>
plistの文法チェック。
plutl -lint jp.ddo.foo.dnsupdate.plist
つくったのを /System/Library/LaunchDaemons へ入れる。
launchdへ登録。確認。
sudo launchctl load -w jp.ddo.foo.dnsupdate.plist sudo launchctl list
エラーでてないからこれでいいのかな。