资讯专栏INFORMATION COLUMN

Centos7下如何用cron定时执行PHP文件

2i18ns / 1667人阅读

摘要:一简介在中,周期执行的任务一般由这个守护进程来处理,可以在无需人工干预的情况下运行作业。特殊的符号代表所有的取值范围内的数字。

一、crontab 1.1 简介

Linux中,周期执行的任务一般由cron这个守护进程来处理,可以在无需人工干预的情况下运行作业。

1.2 crontab服务 1.2.1查看crontab运行状态
service crond status
1.2.2 启动

要使用crontab定时器工具,必须要启动cron服务:

service crond start
或者/etc/rc.d/init.d/crond start
1.2.3 加入开机自动启动
chkconfig --level 35 crond on

查看是否已加入开机自启动:
使用 chkconfig | grep crond 看在2 3 4 5级别是不是on
crontab默认就是开机启动的,普通用户要有sudo的权限才能设置开机启动。

二、执行定时任务

编辑 crontab

crontab -e
2.1 crontab 命令格式

基本格式 :

*  *  *  *  *  command

分 时 日 月 周 命令

2.2 crontab各参数说明

-e : 执行文字编辑器来编辑crontab,内定的文字编辑器是VI

00 00 * /usr/bin/php /xxx/Timer.php 每天凌晨执行PHP脚本

设置后:crontab: installing new crontab

切切:一定要写对/usr/bin/php 路径,就因为这个问题我捣鼓整整一天(泪),可以用which php 查看(点赞)

 -r : 删除目前的crontab
 
 -l : 列出目前的crontab(查看专用)
 
 -i : 会和-r 配合使用,在删除当前的crontab时询问,输入y 则删除

注意:crontab是分用户的,以谁登录就会编辑到谁的crontab

2.3 crontab特殊的符号
"*"代表所有的取值范围内的数字。特别要注意哦!

"/"代表每的意思,如"*/5"表示每5个单位

"-"代表从某个数字到某个数字

","分散的数字

crontab文件的使用示例:

30 21 * * * 表示每晚的21:30 

45 4 1,10,22 * * 表示每月1、10、22日的4 : 45

10 1 * * 6,0 表示每周六、周日的1 : 10

0,30 18-23 * * * 表示在每天18 : 00至23 : 00之间每隔30分钟

0 23 * * 6 表示每星期六的11 : 00 pm

* */1 * * * 每一小时

* 23-7/1 * * * 晚上11点到早上7点之间,每隔一小时

* 8,13 * * 1-5 从周一到周五的上午8点和下午1点

0 11 4 * mon-wed 每月的4号与每周一到周三的11点

0 4 1 jan * 一月一号的4点
三、crontab定时任务不执排查

排查原因步骤如下:

首先,确认服务器是否开启定时任务计划服务,只有root用户才能对crond服务进行开启和关闭

[root@mimvp-bj script]# service crond status
crond is stopped
[root@mimvp-bj script]# service crond start
Starting crond:                                            [  OK  ]
[root@mimvp-bj script]# service crond status
crond (pid  24577) is running…

请确保crond状态为 is running…

如果crond状态为 crond is stopped ,则定时任务服务不会生效故无法执行

查看动态日志

tail -f /var/log/cron

  

使用 crontab -e 与 直接编辑 /etc/crontab 的区别
crontab 每分钟、每小时、每天、每周、每月、每年定时执行

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22452.html

相关文章

  • PHP实现执行定时任务的几种思路详解

    摘要:本文,我们就来深入的解析几种常见的定时任务的思路。借用第三方定时任务跳板很好玩的是,一些服务商提供了各种类型的定时任务,例如阿里云的提供了单独的定时任务,你可以填写自己应用下的某个。比如说,你可以在阿里云上建立一个每天凌晨点的定时 PHP本身是没有定时功能的,PHP也不能多线程。PHP的定时任务功能必须通过和其他工具结合才能实现,例如WordPress内置了wp-cron的功能,很厉害...

    pumpkin9 评论0 收藏0
  • zsh终端下如何用命令行打开sublime

    摘要:在下打开前端常见编辑器为相关配置文件,先打开配置文件添加如下代码,具体路径可能不一致重启即可使用,比如用打开当前目录注意中显示路径可以在终端中执行下面这行代码 在zsh下打开前端常见编辑器 1. .zshrc为zsh相关配置文件,先打开配置文件 vim .zshrc 2. 添加如下代码,具体路径可能不一致 alias atom=/Applications/Atom.app/Cont...

    Thanatos 评论0 收藏0
  • SpringBoot下使用定时任务的方式全揭秘

    摘要:定时任务间隔时间方式执行一次定时任务线程休眠规定时间类类允许调度一个任务。引入依赖配置测试执行一次定时任务使用注解是为定时任务而生的一个注解,查看注解的源码表达式接收一个。 本文旨在用通俗的语言讲述枯燥的知识 定时任务作为一种系统调度工具,在一些需要有定时作业的系统中应用广泛,如每逢某个时间点统计数据、在将来某个时刻执行某些动作...定时任务在主流开发语言均提供相应的API供开发者调用...

    DevTTL 评论0 收藏0

发表评论

0条评论

2i18ns

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<