1.编写脚本 task_1.sh,并确保有权限能执行这个脚本
echo 'nihao'
#执行其他脚本
python xxx.py
2.编写定时任务文件cn.zhong.task.plist
<?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>
<!--
卸载 launchctl unload cn.zhong.task.plist
启动 launchctl load cn.zhong.task.plist
-->
<!-- 名称,要全局唯一 -->
<key>Label</key>
<string>cn.zhong.task</string>
<!-- 要运行的程序, 如果省略这个选项,会把ProgramArguments的第一个
元素作为要运行的程序 -->
<key>Program</key>
<string>/Users/zengningzhong/Documents/souche/task/task_1.sh</string>
<!-- 命令, 第一个为命令,其它为参数-->
<key>ProgramArguments</key>
<array>
<string>/Users/zengningzhong/Documents/souche/task/task_1.sh</string>
</array>
<!-- 运行时间-->
<key>StartCalendarInterval</key>
<dict>
<key>Minute</key>
<integer>30</integer>
<key>Hour</key>
<integer>11</integer>
</dict>
<!-- 运行间隔,与StartCalenderInterval使用其一,单位为秒
<key>StartInterval</key>
<integer>2</integer>-->
<key>StandardOutPath</key>
<string>/Users/zengningzhong/Documents/souche/task/task_1.log</string>
<key>StandardErrorPath</key>
<string>/Users/zengningzhong/Documents/souche/task/task_1.err</string>
</dict>
</plist>
3.蒋plist 文件放置指定目录
- ~/Library/LaunchAgents 由用户自己定义的任务项
- /Library/LaunchAgents 由管理员为用户定义的任务项
- /Library/LaunchDaemons 由管理员定义的守护进程任务项
- /System/Library/LaunchAgents 由Mac OS X为用户定义的任务项
4.执行launchctl命令加载生效
cd ~/Library/LaunchAgents
#加载
launchctl load ***.plist
#取消
launchctl unload ***.plist
#查看
launchctl list
5.执行完后,可以查看plist里指定的log日志,看是否执行成功