定期的に処理を実行するのに使うといえば cron ですが、Mac OS X では LaunchAgents を使います。

LaunchAgent を使うためには、以下のような 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>sample-crawler</string>
    <key>Username</key>
    <string>gonzoooooo</string>
    <key>ProgramArguments</key>
    <array>
      <string>sh</string>
      <string>-c</string>
      <string>/Users/gonzoooooo/Data/scripts/crawler.sh</string>
    </array>
    <key>StartInterval</key>
    <integer>900</integer>
    <key>RunAtLoad</key>
    <true/>
    <key>StandardOutPath</key>
    <string>/Users/gonzoooooo/Data/scripts/output.log</string>
    <key>StandardErrorPath</key>
    <string>/Users/gonzoooooo/Data/scripts/error.log</string>
  </dict>
</plist>

各要素の内容は、下記の通りです。

Key Value
Label ユニークな名称
Username 実行ユーザ
ProgramArguments 実行するコマンド
StartInterval 実行間隔 (単位は秒)
RunAtLoad Load 時に実行するか
StandardOutPath stdout の出力先
StandardErrorPath stderr の出力先

詳細な内容は、Apple 公式のものを参照してください。

launchd.plist(5) Mac OS X Manual Page

この plist ファイルを $HOME/Library/LaunchAgent にコピーします。

そのあと、以下のコマンドを実行します。

$ launchctl load ~/Library/LaunchAgents/******.plist

止める時は、load の部分を unload にします。

$ launchctl unload ~/Library/LaunchAgents/******.plist

参考

Creating Launch Daemons and Agents