本文目录
mac使用crontab定时任务
Crontab 是 cron table 的缩写,字面意思日程表。可以使用 crontab 指令,按照指定的规则/周期定时执行某项任务。
常用指令:
crontab -l
列出目前的时程表(无日程时,执行打印crontab: no crontab for xxx
)crontab -e
新建一个日程,执行后打开 vim,需要按照指定规则编写并保存(:wq)crontab -r
删除目前的日程表(执行成功后没有内容打印)
编写日程的规则:
1 | * * * * * |
举例:每天 19:45 执行 auto-task.sh 脚本中的 git 命令,来保存提交 Note目录 下的笔记。
- 在
~
目录,即用户目录(/Users/xxx) 下创建 auto-task.sh
1 | # /Users/xxx/auto-task.sh |
- 执行
crontab -e
,输入下述内容并 :wq 保存
1 | 45 19 * * * /bin/bash /Users/xxx/auto-task.sh |
需要注意,执行文件路径必须是绝对路径。
- 执行
crontab -l
查看当前日程,可以看到已经加入上述任务。
1 | > crontab -l |
[Tips]
到了指定时间命令执行后,在 mac 命令行上出现 You have new mail.
,可以通过 mail
命令查看执行结果。
1 | # 查看 mail |
关于 mail 参考:https://stackoverflow.com/questions/22163102/you-have-mail-message-in-terminal-os-x