launchctl : macOS のタスクスケジューラ
Macでは、launchctlコマンドで定期タスクを管理できます。
- 既存の定期タスクを確認する:
launchctl list
これにより、現在実行中のすべての定期実行ジョブがリストされます。
- タイマーを追加する:
launchctl submit -l <label> -- <command>
例えば、毎日午後4時に /path/to/script.sh スクリプトを実行するには、次のコマンドを使用します。
launchctl submit -l com.example.mytask -- /path/to/script.sh
- 定期タスクの削除
launchctl remove <label>
たとえば、追加した com.example.mytask ジョブを削除したい場合は、次のように指定します。
launchctl remove com.example.mytask
- 定期イベントの編集:
crontab -e
これにより、現在のユーザーの cron ジョブを編集できるテキストエディタが開きます。
例えば、エディタに以下の内容を追加すると、毎日午後4時に /path/to/script.sh スクリプトが実行されます:
0 16 * * * /path/to/script.sh
編集画面で保存と終了を行うことで、その予約タスクはアクティブになります。
なお、launchctlはあくまで現在のユーザーのcronのみなので、グローバルなcronが必要な場合はsudo crontab -eコマンドでrootユーザーのcronを編集してください。