每晚给你分享一个PHP基础知识点linux定时执行,希望能帮助到你linux定时执行,花5分钟时间瞧瞧。也许你早就晓得怎样用,显然对你有些许帮助,但是最后还是谢谢你的关注

巩固php基础,分享给你视频教程【】linux操作系统怎么样,公众号里回复:20200202免费发放提取码!

首先谈谈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文件改变后就毋须重新启动守护进程了。

定时执行shell脚本_linux定时执行_定时执行专家

安装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

每一小时执行myscript.php如下(代码可滑动查看)

# crontab -e
00 * * * * /usr/local/bin/php /home/john/myscript.php

定时执行shell脚本_linux定时执行_定时执行专家

假如你的PHP脚本可以通过URL触发,你可以使用lynx或curl或wget来配置你的Crontab。

下边的事例是使用Lynx文本浏览器访问URL来每小时执行PHP脚本。Lynx文本浏览器默认使用对话形式打开URL。

然而,像下边的,我们在lynx命令行中使用-dump选项来把URL的输出转换来标准输出。(代码可滑动查看)

00 * * * * lynx -dump http://www.jb51.net/myscript.php

下边的事例是使用CURL访问URL来每5分执行PHP脚本。Curl默认在标准输出显示输出。使用”curl-o”选项linux安全加固,你也可以把脚本的输出轮询到临时文件。(代码可滑动查看)

*/5 * * * * /usr/bin/curl -o temp.txt http://www.jb51.net/myscript.php

下边的事例是使用WGET访问URL来每10分执行PHP脚本。-q选项表示安静模式。”-Otemp.txt”表示输出会发送到临时文件。(代码可滑动查看)

*/10 * * * * /usr/bin/wget -q -O temp.txt http://www.jb51.net/myscript.php

参数:

定时执行专家_定时执行shell脚本_linux定时执行

-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列要运行的命令

记住几个特殊符号的涵义:

“*”代表取值范围内的数字,

“/”代表”每”,

定时执行专家_定时执行shell脚本_linux定时执行

“-”代表从某个数字到某个数字,

“,”分开几个离散的数字

crontab文件的一些事例(代码可滑动查看)

30 21 * * * /usr/local/etc/rc.d/lighttpd restart 
上面的例子表示每晚的21:30重启apache。
 
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart 
上面的例子表示每月11022日的4 : 45重启apache。 

10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart 
上面的例子表示每周六、周日的1 : 10重启apache。 

0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart 
上面的例子表示在每天18 : 0023 : 00之间每隔30分钟重启apache。 

0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart 
上面的例子表示每星期六的11 : 00 pm重启apache。 

0 */1 * * * /usr/local/etc/rc.d/lighttpd restart 
每一小时重启apache 
0 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart 
晚上11点到早上7点之间,每隔一小时重启apache 
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart 
每月的4号与每周一到周三的11点重启apache 

0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart 

以上是本文的全部内容,希望对你们的学习有帮助,也希望你多多支持php自学中心

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复