Mac上,执行定时脚本:launchctl

来源:互联网 发布:沈阳网络优化 编辑:程序博客网 时间:2024/05/20 21:57

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日志,看是否执行成功

0 0
原创粉丝点击