mac如何本地起一个定时任务

2,422 阅读1分钟

昨天做Node项目时为了实现一个需求:

每天固定一个时间(比如10点),从redis里读取一个数据,给这个数据里的用户推送一条微信订阅消息;

谷歌一番,找到解决方案:crontab

下面就介绍一下如何用 crontab 实现一个定时任务(mac版本,linux基本一样)

1:查询crontab命令项,看看是否已经有定时任务在运行了

crontab -l

无命令运行中:crontab: no crontab for wujunjie

有命令运行中:* * * * * * node app.js ...

2:如果有命令运行且不是你想要的任务,可以执行删除操作;

crontab -r

3:打开任务编辑

打开任务编辑:crontab -e   (会进入一个文本vim)

4:新增任务(脚本执行规则参考菜鸟教程)

* * * * * * node app.js

******是执行时间的规律,规则参考标题链接

node是执行语言环境 一定要是绝对路径,

比如/usr/local/bin/node 否则会报错node command not found

app.js即需要被执行的脚本 同样需要绝对路径

5:退出保存后即可

6:如果定时任务未执行,可以去查看执行日志

我的log位置是 
    
    /var/mail/admin

如果没有可以尝试查看

    /var/spool/mail 和 /var/log/cron.log

至此执行一个定时任务完成啦 定时任务用处还是挺大的,比如定时发邮件,定时发个信息给女朋友...