美文网首页
mac定时任务执行shell脚本运行jar包

mac定时任务执行shell脚本运行jar包

作者: 2d6b30578f5c | 来源:发表于2019-07-01 15:31 被阅读0次

1.背景:想用定时任务执行某个脚本然后实现定时发送钉钉机器人消息;

2.构思:楼主是做Android开发的,由于不太懂phyon脚本,便想着用java来构建jar包并用shell脚本执行,然后用系统自带的定时任务执行shell脚本

1.定时任务实现

查阅了资料,发现mac下并没有像Windows那样直接创建定时任务的功能,不过还是有解决方案的,接下里主角launchctl登场,

launchctl:launchctl是一个统一的服务管理框架,可以启动、停止和管理守护进程、应用程序、进程和脚本等。launchctl是通过配置文件来指定执行周期和任务的。mac下可把任务信息配置在plist上由launchctl读取

1.1 编写plist文件

launchctl 将根据这个plist文件的信息来启动任务,plist文件中的关键字可以在 苹果官方文档 找到,值得注意的是 Label 对应的值需要保证唯一性,作为任务的唯一标示。可以使用如下命令来验证plist格式的正确性(不代表命令有效):

$ plutil-lint /Users/denglibing/Library/LaunchAgents/com.dingroot.checkin.plist

这个是一个完整的 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>

<key>Label</key>

<string>com.taojiji.tapd.plist</string>

<key>ProgramArguments</key>

<array>

<string>/Users/xiaozhuzhu/Library/LaunchAgents/tapd.sh</string>

</array>

<key>StandardErrorPath</key>

<string>/Users/xiaozhuzhu/Library/LaunchAgents/tapd/tapd.err</string>

<key>StandardOutPath</key>

<string>/Users/xiaozhuzhu/Library/LaunchAgents/tapd/run.log</string>

<key>StartCalendarInterval</key>

<array>

<dict>

<key>Hour</key>

<integer>15</integer>

<key>Minute</key>

<integer>30</integer>

<key>Weekday</key>

<integer>1</integer>

</dict>

<dict>

<key>Hour</key>

<integer>15</integer>

<key>Minute</key>

<integer>30</integer>

<key>Weekday</key>

<integer>2</integer>

</dict>

<dict>

<key>Hour</key>

<integer>15</integer>

<key>Minute</key>

<integer>30</integer>

<key>Weekday</key>

<integer>3</integer>

</dict>

<dict>

<key>Hour</key>

<integer>15</integer>

<key>Minute</key>

<integer>30</integer>

<key>Weekday</key>

<integer>4</integer>

</dict>

<dict>

<key>Hour</key>

<integer>15</integer>

<key>Minute</key>

<integer>30</integer>

<key>Weekday</key>

<integer>5</integer>

</dict>

</array>

</dict>

</plist>```

相关文章

网友评论

      本文标题:mac定时任务执行shell脚本运行jar包

      本文链接:https://www.haomeiwen.com/subject/jrjqvttx.html