新的版本的MacOS,官方已不建議用 crontab
cd ~/Library/LaunchAgents
vim net.alexchang.<YOUR_JOB>.plist
貼上以下的code再修改,下面的範例是每天(86400秒)執行一次,其他觸發條件建議看文件
<?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>](<http://www.apple.com/DTDs/PropertyList-1.0.dtd>)">
<plist version="1.0">
<dict>
<key>Label</key>
<string>net.alexchang.<YOUR_JOB></string>
<key>ProgramArguments</key>
<array>
<string>sh</string>
<string>/Users/YOUR/PATH/TO/file.sh</string>
</array>
<key>StartInterval</key>
<integer>86400</integer>
</dict>
</plist>
編輯 shell file
#!bin/bash
YOUR_COMPLEX_COMMANDS
載入
launchctl load ~/Library/LaunchAgents/net.alexchang.<YOUR_JOB>.plist
launchctl start net.alexchang.<YOUR_JOB>
取消
launchctl unload ~/Library/LaunchAgents/net.alexchang.<YOUR_JOB>.plist
launchctl stop net.alexchang.<YOUR_JOB>
觀察
launchctl list | grep <YOUR_JOB>