Mac/Linux crontab定时任务

4 篇文章 0 订阅

Mac下crontab执行定时脚本, 在Linux下 以root用户权限执行定时计划,完成特定功能。

那么,在本地呢,是否可以? 答案是当然的。 Linux是Unix的开源实现。 BSD被认为是Unix精神的继承者(BSD同样也是Unix的另外一个开源实现)也是Unix的一种。 而mac_os是基于BSD的。他们都是相仿的。

crontab默认都是安装好的,直接用就好

说明:

1、Linux和Mac下操作crontab都是一致的

2、配置文件都在/etc/crontab下,如果没有就创建(不创建会导致任务不执行)

  sudo touch /etc/crontab

3、测试发现直接使用crontab -e命令创建的定时任务是放在临时文件夹的,重启会删除(我本地Mac版本为11.4,重启后并不会删除),并且与/etc/crontab文件无关联

4、crontab -e 编辑添加任务命令

5、crontab -l 查看任务的运行情况

6、crontab -r 删除

crontab文件的语法格式:

每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:

minute  hour  day  month  week  command
# For details see man 4 crontabs
# Example of job definition:
.---------------------------------- minute (0 - 59) 表示分钟
|  .------------------------------- hour (0 - 23)   表示小时
|  |  .---------------------------- day of month (1 - 31)   表示日期
|  |  |  .------------------------- month (1 - 12) OR jan,feb,mar,apr ... 表示月份
|  |  |  |  .---------------------- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat  表示星期(0 或 7 表示星期天)
|  |  |  |  |  .------------------- username  以哪个用户来执行 
|  |  |  |  |  |            .------ command  要执行的命令,可以是系统命令,也可以是自己编写的脚本文件
|  |  |  |  |  |            |
*  *  *  *  * user-name  command to be executed

示例:

# 每1分钟执行一次Command
*/1 * * * * Command

# 每1小时执行一次Command
0 */1 * * * Command

# 每小时的第3和第15分钟执行
3,15 * * * * Command

# 每天早上9点执行
0 9 * * * Command

# 在上午8点到11点的第3和第15分钟执行
3,15 8-11 * * * Command

# 每隔两天的上午8点到11点的第3和第15分钟执行
3,15 8-11 */2  *  * Command

# 每周一上午8点到11点的第3和第15分钟执行
3,15 8-11 * * 1 Command

# 晚上11点到早上7点之间,每隔一小时重启httpd服务
* 23-7/1 * * * service httpd restart

使用:

在终端使用 crontab -e 创建一条定时任务

需求:如何在tp6框架中使用呢?

答:可以使用tp框架的 自定义指令 来实现,如:添加了hello指令

# 在tp项目根目录下运行

php think hello

# 在 crontab -e 中添加一条命令,然后 :wq 保存并退出

* * * * * /usr/local/Cellar/php@7.3/7.3.29/bin/php /path/yourapp/think hello

小节:

  • *表示任何时候都匹配
  • "a,b,c" 表示a 或者 b 或者c 执行命令
  • "a-b" 表示a到b 之间 执行命令
  • "*/a" 表示每 a分钟(小时等) 执行一次
  • crontab 不能编辑系统级的 任务
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值