launchctl : macOS のタスクスケジューラ

Macでは、launchctlコマンドで定期タスクを管理できます。

  1. 既存の定期タスクを確認する:
launchctl list

これにより、現在実行中のすべての定期実行ジョブがリストされます。

  1. タイマーを追加する:
launchctl submit -l <label> -- <command>

例えば、毎日午後4時に /path/to/script.sh スクリプトを実行するには、次のコマンドを使用します。

launchctl submit -l com.example.mytask -- /path/to/script.sh
  1. 定期タスクの削除
launchctl remove <label>

たとえば、追加した com.example.mytask ジョブを削除したい場合は、次のように指定します。

launchctl remove com.example.mytask
  1. 定期イベントの編集:
crontab -e

これにより、現在のユーザーの cron ジョブを編集できるテキストエディタが開きます。

例えば、エディタに以下の内容を追加すると、毎日午後4時に /path/to/script.sh スクリプトが実行されます:

0 16 * * * /path/to/script.sh

編集画面で保存と終了を行うことで、その予約タスクはアクティブになります。

なお、launchctlはあくまで現在のユーザーのcronのみなので、グローバルなcronが必要な場合はsudo crontab -eコマンドでrootユーザーのcronを編集してください。

bannerAds