DDNSでサーバー公開 OS X 10.8.x Mountain Lion編

投稿者: | 2013/09/05

Mac OS X Leopardではcronを使って定期的にIPアドレスに変化がないかをチェックしていましたが、新しいOS X 10.8サーバーでは、launchdをつかって定期的にチェックするようにします。
IPアドレスをチェックし、変更があった場合にDDNSの登録を変更するスクリプトは前回のものと同じです。
ただし、以前はhttpで接続していましたが、今回はhttpsで接続するようにしました。

IPアドレスをチェックしてDDNSの登録をアップデートするスクリプトは、ddns-update.plという名前で/usr/local/binにおいています。

置き場に悩みましたが、/Library/LaunchDaemons に jp.dip.triode.ddns.plistを置くことにします。
plistのなかみは…

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>Label</key>
    <string>jp.dip.triode.ddns</string>

    <key>WorkingDirectory</key>
    <string>/var/root</string>

    <key>ProgramArguments</key>
    <array>
      <string>/usr/local/bin/ddns-update.pl</string>
    </array>

    <key>StartInterval</key>
    <integer>300</integer>
  </dict>
</plist>
<key>WorkingDirectory</key>
    <string>/var/root</string>

で、Working Directoryをrootのホーム/var/rootに変更しています。
/usr/local/bin/ddns-update.pl が作成するファイルは/var/rootにできます。

    <key>StartInterval</key>
    <integer>300</integer>

コマンドを実行する間隔を300秒に設定しました。
StartCalenderIntervalで、cronと同じようにスケジューリングすることも可能ですが、今回のケースは単純に時間を待つだけで問題ありません。

launchdへの登録はサーバーを再起動してもよいですが、
[sh]
# launchctl load /Library/LaunchDaemons/jp.dip.triode.ddns.plist
# launchctl start jp.dip.triode.ddns
[/sh]
として開始することができます。

[sh]
# launchctl list | grep jp.dip.triode
– 0 jp.dip.triode.ddns
[/sh]
でロードされているかを確認できます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください