当前位置:  编程技术>php

linux使用crontab实现PHP执行计划定时任务

    来源: 互联网  发布时间:2014-08-26

    本文导语:  首先说说cron,它是一个linux下的定时执行工具。根用户以外的用户可以使用 crontab 工具来配置 cron 任务。所有用户定义的 crontab 都被保存在/var/spool/cron 目录中,并使用创建它们的用户身份来执行。要以某用户身份创建一个 crontab...

首先说说cron,它是一个linux下的定时执行工具。根用户以外的用户可以使用 crontab 工具来配置 cron 任务。所有用户定义的 crontab 都被保存在/var/spool/cron 目录中,并使用创建它们的用户身份来执行。要以某用户身份创建一个 crontab 项目,登录为该用户,然后键入 crontab -e 命令来编辑该用户的 crontab。该文件使用的格式和 /etc/crontab 相同。当对 crontab 所做的改变被保存后,该 crontab 文件就会根据该用户名被保存,并写入文件 /var/spool/cron/username 中。cron 守护进程每分钟都检查 /etc/crontab 文件、etc/cron.d/ 目录、以及 /var/spool/cron 目录中的改变。如果发现了改变,它们就会被载入内存。这样,当某个 crontab 文件改变后就不必重新启动守护进程了。

安装crontab:

yum install crontabs

说明:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置

查看crontab服务状态:service crond status

手动启动crontab服务:service crond start

查看crontab服务是否已设置为开机启动,执行命令:ntsysv

加入开机自动启动:
chkconfig –level 35 crond on

crontab命令:

功能说明:设置计时器。

语  法:crontab [-u ][配置文件] 或 crontab [-u ][-elr]

补充说明:cron是一个常驻服务,它提供计时器的功能,让用户在特定的时间得以执行预设的指令或程序。只要用户会编辑计时器的配置文件,就可以使 用计时器的功能。其配置文件格式如下:
Minute Hour Day Month DayOFWeek Command

参  数:
-e  编辑该用户的计时器设置。
-l  列出该用户的计时器设置。
-r  删除该用户的计时器设置。
-u  指定要设定计时器的用户名称。

crontab 格式:

基本格式 :

分钟   小时   日   月   星期   命令

*        *      *    *     *       *

第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列 表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

记住几个特殊符号的含义:
“*”代表取值范围内的数字,
“/”代表”每”,
“-”代表从某个数字到某个数字,
“,”分开几个离散的数字

# Use the hash sign to prefix a comment
# +—————- minute (0 – 59)
# | +————- hour (0 – 23)
# | | +———- day of month (1 – 31)
# | | | +——- month (1 – 12)
# | | | | +—- day of week (0 – 7) (Sunday=0 or 7)
# | | | | |
# * * * * * command to be executed

crontab几个例子如下:

(1)第一个例子。

30 21 * * * /etc/init.d/nginx restart
每晚的21:30重启 nginx。

(2)第二个例子,也就是本教程测试的例子

* * * * * /usr/bin/php -f /root/test.php >> test.log

每一分钟执行/root/test.php文件,将结果输出到test.log中。

完成了上面基础工作后,就来看看怎么使用crontab定时执行PHP脚本:

(1)我在/root下新建test.php文件,内容如下:

代码如下:


说明:你可以用whereis php查找php执行文件位置。


(2)然后crontab -e编写如下shell:

代码如下:

* * * * * /usr/bin/php -f /root/test.php >> test.log

说明:test.php必须为可执行文件:chmod +x test.php

测试结果很正常,截图如下:

当然你可以用使用crontab -e继续添加任务,在/var/spool/cron下你可以看到一个root文件。
windows下直接用windows计划任务,通过bat打开网页就可以了。不像linux这么复制。


    
 
 

您可能感兴趣的文章:

  • linux下通过crond实现自动执行程序
  • 菜鸟请教:linux 直接执行可执行文件
  • linux下nm命令(显示可执行文件的符号信息)介绍以及常见nm命令用法举例
  • 如何在LINUX中在系统启动后自动执行一个执行一个程序?
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • linux在脚本执行命令和直接在命令行执行命令有什么区别
  • linux下不使用sudo命令执行docker的操作步骤
  • linux设备驱动执行完__init之后就执行__devinit吗
  • 很菜的问题——Linux(RedHat8)下的齿轮图标程序如何执行,是什么shell命令可以执行它?
  • 请问LINUX7.2下,哪条命令是查看系统上曾经执行过的执行命令?(包括启动以前的)
  • 如何用JAVA执行本机Linux操作系统的可执行文件?一定给分!在线等待!
  • linux shell脚本 linux crond 的一个鲜为人知的错误,单独执行没问题,放到crond 中就执行出错 试问高手们哪个环节出错
  • 入门的问题。在Linux上如何执行一个可以执行的文件?
  • Linux下的执行文件是什么概念,是象Dos里的2进制机器码吗,怎么看一个文件是不是执行文件.
  • linux 中可执行程序执行时./a.out怎么去掉 "./" ? ? ?
  • 我需要一个模型,在 LINUX C 下。实现线程间的控制,执行,阻塞,再执行。。。。。不知道如何实现。
  • Linux下自动执行命令的问题,哪位Linux高手帮帮我.
  • 小弟刚学linux,问个超级幼稚的问题~-linux下怎么执行程序?
  • 可以让soleris下编译的可执行文件运行在linux下吗???
  • window下通过ftp执行linux脚本?
  • linux 下子线程不能执行的问题?
  • 请问操作系统中任务调度主要有哪些策略,LINUX用哪种啊??实时操作系统又有哪些任务调度哪些策略啊??
  • linux字符模式下怎样可以运行两个任务(开两个终端)
  • linux下如何定时执行任务?
  • linux shell脚本 linux crond 的一个鲜为人知的错误,单独执行没问题,放到crond 中就执行出错 试问高手们哪个环节出错 iis7站长之家
  • 请教Linux计划任务问题
  • Linux定时执行任务问题
  • linux 图形界面任务栏开始菜单的内容记录在那?我想对其编辑.
  • linux中定时任务 oracle用户该如何做?
  • linux下利用定时任务执行db2存储过程
  • linux 怎么样设置使crontab 里的任务一机就启动,或者怎么开机运行一个脚本?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • LINUX中crontab的奇怪问题
  • linux 某个用户 crontab 开机不能自动启动
  • 在Linux使用crontab设置自动执行备份脚本问题?
  • 我的crontab为什么不执行?我用LINUX9
  • 请问在Linux中,当我输入crontab,不加任何参数,回车,会不会将cron文件中的内容清除?
  • LINUX crontab运行程序问题
  • 第一次弄LINUX,关于CRONTAB的!在线求助!!
  • linux下crontab的操作
  • linux下crontab操作多个文件
  • linux crontab 问题
  • Linux 下Crontab问题请教
  • Linux下crontab如何自动tar文件。。。
  • linux crontab 设定老是想不明白。。。。
  • 求大侠 帮我验证一下linux crontab命令
  • 求助:Linux crontab 问题
  • redhat linux crontab执行jar出错....
  • linux下使用crontab实现定时PHP计划任务失败的原因分析
  • linux环境下,java程序手工运行不乱码,crontab自动运行就乱码
  • Linux crontab 定时执行mysql脚本问题
  • MySQL定时备份之使用Linux下的crontab定时备份实例
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • linux命令大全详细分类介绍及常用linux命令文档手册下载


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3