Mac 系统 - 启用定时自动执行任务
变更记录
序号 | 录入时间 | 录入人 | 备注 |
---|---|---|---|
1 | 2015-03-23 | Alfred Jiang | - |
方案名称
Mac 系统 - 启用定时自动执行任务
关键字
Mac 系统 \ MAC OS \ 定时执行 \ 自动执行
需求场景
- 需要 Mac 系统执行定时自动任务时
参考链接
- Mac OS X launchd plist StartInterval and StartCalendarInterval examples
- ITEYE - mac使用launchctl定时运行程序
- CSDN - Mac上,执行定时脚本:launchctl
- Apple documentation - launchd.plist
详细内容
1. 进入 root 模式,参考 Mac 系统 - 修改 Mac OS X root 密码
2. 编写自动执行脚本 sample.sh,并赋予执行权限
sh-3.2# cd /pathtoyoursh/
sh-3.2# vim sample.sh
sh-3.2# chmod 777 sample.sh
输入任意脚本内容,也可以在 sh 中调用 python 或 ruby 脚本
必须确保脚本是正确可执行的
3. 编写自动执行配置文件,并赋予执行权限
进入 LaunchDaemons ,该目录下脚本配置文件在用户未登录情况下依然能够自动执行
sh-3.2# cd /Library/LaunchDaemons/
sh-3.2# vim info.sample.code.plist
输入以下内容
1 |
|
以上内容表示系统在每天晚上 18:00 自动执行一次 /pathtoyoursh/sample.sh 脚本,更多脚本设置内容和格式见参考链接
必须确保所有路径为从根目录开始的绝对路径
可以通过以下命令检测 plist 格式是否正确
sh-3.2# plutil -lint info.sample.code.plist
设置权限
sh-3.2# chmod 600 info.sample.code.plist
3.启用服务
加载服务
sh-3.2# launchctl load info.sample.code.plist
卸载服务
sh-3.2# launchctl unload info.sample.code.plist
启动服务
sh-3.2# launchctl start info.sample.code.plist
关闭服务
sh-3.2# launchctl stop info.sample.code.plist
查看全部服务
sh-3.2# launchctl list
效果图
(无)
备注
(无)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 宁静至远,博雅多通!