もっちーの日記

横浜FC観戦記、MacやPCのこと、ままならない日々のことをつらつらと。

cronからlaunchdへ

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&amp;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

エラーでてないからこれでいいのかな。