MacOS の crontab
launchctl の使い方
- 基本 user なので、Agent なので、
~/Library/LaunchAgents
に保存する。 - 下記で検索
launchctl list | rg {job}
- bootstrap gui/{uid}
load
, unload
はレガシーコマンドであるとして、非推奨らしい。
この uid ってのは、 id -u
で出てくる。
id -u
501
launchctl bootstrap gui/501 ~/Library/LaunchAgents/job.plist
bootout
で登録から外す
- (kick) start
launchctl kickstart -k gui/501/job
という流れ
publish
Blog Publish をスケジュールする。
一時間毎にパブリッシュする。logs の場所初めて知った。
<?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>local.blog_publish</string> <key>ProgramArguments</key> <array> <string>/opt/homebrew/bin/bash</string> <string>/Users/yasushi/.config/publish.sh</string> </array> <key>StartInterval</key> <integer>3600</integer> <key>StandardOutPath</key> <string>/Users/yasushi/Library/Logs/local.blog_publish.log</string> <key>StandardErrorPath</key> <string>/Users/yasushi/Library/Logs/local.blog_publish.error.log</string> </dict> </plist>
launchctl bootout gui/501/local.blog_publish launchctl bootstrap gui/501 ~/Library/LaunchAgents/local.blog-publish.plist launchctl kickstart -k gui/501/local.blog-publish