首页

文章

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

发布网友 发布时间:2022-02-26 11:17

我来回答

1个回答

热心网友 时间:2022-02-26 12:46

首先说说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文件,内容如下:
复制代码
代码如下:
<?php
       
#!/usr/bin/php
-q
       
echo 
date('Y-m-d
H:i:s')."from
http://www.phpddt.com
\n";
?>
说明:你可以用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这么复制。

手机导航地图语音怎么下载 如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 请问水低于0度会结冰吗? 如何防止脱发严重 嘴唇上有黑印用蜜蜡和棉线去除了胡须 软柿子的热量 孕妇可以吃软柿子吗不是西红柿 脆柿子和软柿子的区别 脆柿子好还是软柿子好 软柿子可以多吃吗 “鱼悬洁白振清风”的出处是哪里 用大自然的声音评课好吗? 妇产科博士找超声科工作容易吗 怎能把微信6.2.0版本换回6.1.2版 微信群6.2.4怎么增加人数上限 微信6.2.2如何备份手机通讯录 电脑桌面图标不能放大? 有什么好用的识图软件 识图认人哪个软件最好 手机识图软件什么软件能识别图片位置 小米手机自动锁屏时间怎么修改 小米手机屏幕锁定时间设置教程 能举起100斤算大力吗 中医美容专业是什么 中医美容证有什么用 单声道音频什么意思(开启单声道音频有什么好处) 单声道音频是什么,有什么用处? 户口还未迁移到婆家 娘家户口怎么就没了呢 我结婚没有迁户口,现在娘家也没有怎么办 没领证生的孩子一般会判给谁 没领证生的孩子会判给谁 信用卡卡种有哪些 找一首古风歌曲 男声 低配电脑装w10还是w7流畅 电脑配置低装win7还是win10好 低配电脑适合装WIN7系统还是WIN10系统? ...500s-15isk这个联想笔记本的内存条尺寸是什么型号的有没有知道的... 越快越好.怎样减肥.而且胸部不缩水 请问徐闻县海安长途汽车客运站客服是多少? 过了平台期还会瘦吗 悦耳的意思悦耳的解释 重庆师范大学应用心理学专业的权威性如何? 打印机laserjetm1136mfp怎样设置无线打印 经典电影赏析之1:《精武英雄》 爆米花用的什么玉米 糯玉米哪个好 有机糯玉米的营养价值如何? 四大直辖市换帅原因 LINUX crontab 文件怎么写? 请问linux的crontab * * */10 * *,这样设置是每天随机运行10次吗,那么这10次是分配在什么时间执行呢? 疫情期间网商贷延期还款券如何使用? 网商贷给了一张延期还款券 ,利息怎么收? 支付宝网商贷逾期了暂时还不上怎么办 linux关于定时执行任务crontab 支付宝里网商贷才6个月还款期限,可以申请开通分12个月还的吗 Linux里面crontab是什么? 支付宝网商贷逾期,如何联系贷款机构,延期? 网商贷可以延期还款吗? linux下怎么来利用crontab实现计划任务非常有用 网商贷怎么协商延期还款 我欠了支付宝网商贷近20万,可以申请延期36个月吗? 网商贷怎么申请延期还款 阿里云linux服务器 ubuntu 12.04系统用什么建站控制面板 阿里云服务器Linux系统怎么配置环境 linux服务器(Centos)建站怎么利用一个IP不同端口建站谢谢了,大神帮忙啊 为什么要用Linux做服务器? 如何将一段录音文件中,把中间不需要的几段话去掉? vmware可以安装centos7吗 linux crontab计划任务 怎么访问thinkphp 文件 linux计划任务crontab修改后需要重启吗 如何在vm上安装centos7 怎样在vmware上面安装centos7 在虚拟机上怎么安装centos 如何在虚拟机 vm中安装 centos 5.8 如何在vmware上安装centos7 支付宝怎么开通花呗。 怎样在oracle vm中安装centos5.8 如何在vm12上安装centos 7 如何在虚拟机上安装centos系统安装 在vmware上安装centos7怎么设置ip地址 在vm virtualbox上怎么安装centos6.3 linux 服务器怎么访问网站 Linux服务器一个ip搭建多个网站步骤及操作方法有哪些? PHP程序建站使用WIndows和Linux美国服务器好? linux下如何查看已有的计划任务? 花呗延期怎么申请 花呗可以申请延期还款吗? linux计划任务能否输出到Terminal?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com