在linux中输入命令

复制代码代码如下:

crontab -e

然后使用vim的命令编辑打开的文件,输入

复制代码代码如下:

0 * * * * /usr/bin/php -f /home/userxxx/update.php

保存,退出,好了,现在系统会在每个0点自动执行update.php脚本,脚本中可以编写数据库执行,自动发邮件等功能。

注:直接写成 0 * * * * php -f /home/userxxx/update.php将不会起作用。

另外cronjob的格式为:

MIN HOUR DOM MON DOW CMD

Field Description Allowed Value
MIN Minute field 0 to 59
HOUR Hour field 0 to 23
DOM Day of Month 1-31
MON Month field 1-12
DOW Day Of Week 0-6(0表示星期天)
CMD Command Any command to be executed.

使用(-)可以划定范围

如:0 0-6 * * * command 表示每天0-6点整执行command

使用(,)可以枚举时间

如: 0,15,30,45 * * * * command 表示每个小时的0分,15分,45分,30分会执行command

使用(/)可以指定间隔

如:* */4 * * * command表示每四小时执行command

组合用法

0-10/2 * * * * command表示在前10分钟内每隔2分钟执行command

===================================分割线================================================

用Crontab命令定时执行PHP文件详解

一般我在开发中,常用的定时任务有2种。一种是直接调用PHP文件执行,还有一种是调用远程URL地址。

首先,先来亮相一下我们今天的主角,Crontab命令。这个是系统定时命令,作用是定时的去执行一些任务。包含一些系统级别的任务,当然用户也可以直接借用该命令来实现自己的一些计划任务。

该命令一般跟随系统启动,我们可以使用一下命令来查看是否cron是否启动

?
1
pgrep cron

如果启动了,会返回一个进程id

Crontab文件一般存放于/etc目录下。我们使用,crontab -e来编辑cron任务。(第一次用这个命令,会让你选择文本编辑器)

打开cron文件,注意观察最后一行 m h dom...这里简要介绍一下它的意思。

  • m:分钟,0-59
  • h:小时,0-23
  • dom:日期,1-31
  • mon:月份,1-12
  • dow:星期,0-6,0为星期天
  • command:命令

这里,我们应该已经知道其大概的用法了。我们只要在对应的位置填写上我们需要的数字日期,就可以使用它来表示:在某月(mon)的某天(dom)或者星期几(dow)的几点(h,24小时制)几分(m)执行某个命令(command)。

举个栗子:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
* * * * * php /path/to/your/cron.php
5个星号分别代表定时指定每分、小时、日、月、周。
* 19 * * * php /var/www/cron/crontab.php
讲第二个参数h填写为19,则表示每天的下午7点执行crontab.php。
* * * * * php /path/to/your/cron.php  
每隔一分钟执行一次任务
0 * * * * php /path/to/your/cron.php    
每小时的0点执行一次任务,比如6:00,10:00
6,10 * 2 * * php /path/to/your/cron.php  
每个月2号,每小时的6分和10分执行一次任务
*/3,*/5 * * * * php /path/to/your/cron.php 
每隔3分钟或5分钟执行一次任务,比如10:03,10:05,10:06

在这个例子中,我们看到不仅有数字还有星号和/等等符号。这些符号可以让定时更加的灵活。

  • *(星号):表示任意值,在相应位置填写*,可以代表任意执行。比如h为*,则为任意的小时
  • ,(逗号):表示一个部分填写多个值,比如在m位置填写1,5代表1分钟或5分钟时候
  • /(斜杠):表示每隔多久,比如在h部分填写*/2表示每隔2个小时,*/3表示每隔3个小时,
  • */1和*无区别,所以可以省略。这里可以想想,*/2表示能被2整除的时间就好理解了。

使用你的编辑器,保存->退出之后。重新启动cron任务。在每天的相应时间即可看到效果。

下面我们就先来说说PHP开发中,我常用的两种。

第一种:直接调用PHP文件

这种比较简单,我们新建一个php文件。向一个文件插入一些简单的日期内容。

?
1
2
3
4
5
6
7
#!/usr/bin/php -q
<?php
$file = "/var/www/" . date ( "H" ). "_" . date ( "i" ). "_" . date ( "s" ). ".txt" ;
file_put_contents ( $file , date ( "Y-m-d" ));
?>

注意:这种直接调用PHP文件需要在PHP文件最上方加入#!/usr/bin/php -q代码,而第二种方式(接下来会讲),是直接访问链接,通过Apache来解析PHP,这种PHP脚本则不需要加这段代码。

?
1
2
1 6 * * * /path/to/your/cron.php
每天的上午6点01分,执行cron.php文件

第二种:通过访问URL链接定时。

访问URL链接需要借助于浏览器来实现。我们选择Lynx浏览器,Lynx浏览器是一款轻便的web浏览器,使用于大部分Unix 和Linux系统环境。安装命令:

?
1
sudo apt-get install lynx

然后就可以和直接访问PHP文件类似的定时访问URL啦。

?
1
* * * * * lynx -dump http: //weiya .me /index .php

注意这个地址最好用绝对地址,包含“http://”的完整url。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

linux下实现定时执行php脚本相关推荐

  1. linux刷新指定URL脚本,【图片】linux下crontab定时执行本地脚本和定时访问指定url【不要牧师吧】_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 8. 任务调度设置文件的写法 可用crontab -e命令来编辑,编辑的是/var/spool/cron下对应用户的cron文件,也可以直接修改/etc/ ...

  2. linux下php启动实例,linux下实现定时执行php脚本_php实例

    在linux中输入命令 复制代码 代码如下: crontab -e 然后使用vim的命令编辑打开的文件,输入 复制代码 代码如下: 0 * * * * /usr/bin/php -f /home/us ...

  3. linux下设置定时执行脚本

    linux下设置定时执行脚本 1.首先安装所需程序并启动 crontabs是设置周期性被执行的指令 yum install vixie-cronyum install crontabsservice ...

  4. Linux下Crontab定时执行命令

    Linux下Crontab定时执行命令 目录 Crontab概述及安装 Crontab规则 常见例子 1. Crontab概述及安装 1. Crontab指令是Linux下执行定时任务的一个命令. 2 ...

  5. 如何使用Linux的Crontab定时执行PHP脚本的方法

    来源:http://www.jb51.net/article/29136.htm 我们的PHP程序有时候需要定时执行,我们可以使用ignore_user_abort函数或是在页面放置js让用户帮我们实 ...

  6. windows下之定时执行bat脚本

    前言 今天闲来无事,在自己windows上写了个bat脚本玩玩.写完了想定时跑一个,一想java中倒是有定时器,不过这不还得弄个项目写个定时任务??想了想系统应该有自带的可以跑的定时器吧,不然怎么设置 ...

  7. linux php自动执行_linux下实现定时执行php脚本

    在linux中输入命令 复制代码 代码如下: crontab -e 然后使用vim的命令编辑打开的文件,输入 复制代码 代码如下: 0 * * * * /usr/bin/php -f /home/us ...

  8. linux自动下载ftp文件夹,Linux 下FTP定时执行批量下载文件

    使用FTP定时批量下载指定文件的shell脚本 环境:centos6.9 1.目标FTP服务器地址 #FTP服务器地址 ip=10.19.15.23 2.FTP账号和密码 u=账号 p=密码 3.使用 ...

  9. Linux启动shell的快捷方式,Linux下为可执行shell脚本文件(.sh),制作桌面启动快捷方式...

    自装软件默认安装目录为 /usr/local,而生成的应用程序可执行图标(文件)放置在/usr/local/share/applications 目录下,以XXX.desktop 文件形式存在.以xx ...

最新文章

  1. SQL SERVER 获取表结构信息《转载》
  2. 基于单片机的简单的任务调度器
  3. spring boot2.3.1版本导入spring-boot-starter-web没有validation校验框架的解决办法
  4. Html中框架的使用
  5. C#反射使用方法过程及步骤
  6. HDU杭电2066 - 一个人的旅行(Dijkstra算法)
  7. awk的基本使用方法
  8. 教大家如何修改博客背景
  9. spring配置c3p0连接池
  10. 系列4—BabeLua常见问题
  11. [4G5G专题-45]:物理层-基带子载波数字调制解调(星座图, 相位调制PSK, 正交幅度相位调制QAM)
  12. Stream系列(六)Match方法使用
  13. 【专业发展】技术领导力
  14. marshmallow文档
  15. 解决VMware虚拟机安装ikuai限速10M
  16. 十一假期,分享几个好玩儿的GitHub项目
  17. SVAC 2.0 解码库——ref_count参数(1)
  18. varnish 缓存php,php实现监控varnish缓存服务器的状态
  19. 用python创建你自己的命令行地址簿程序
  20. 分享一些省心的PPT模板下载网站资源(附5G优质PPT模板)

热门文章

  1. vbox 安装linux64,在Virtualbox下安装Lubuntu 18.04 64位教程
  2. Rational Rose2016安装及破解教程
  3. Prim 算法,YYDS
  4. CAD怎么转换成PDF?如何将CAD批量转换成PDF?
  5. errmsg:invalid message type hint 群发图文消息
  6. python爬虫模拟登陆豆瓣
  7. 修改window 用户名
  8. Immutable List
  9. 使用node的辅助开发工具
  10. 华为watch gt2升级鸿蒙,拆解揭秘华为WATCH GT2 Pro内部有哪些升级?