每晚给你分享一个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文件改变后就毋须重新启动守护进程了。
安装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
假如你的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
参数:
-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列要运行的命令
记住几个特殊符号的涵义:
“*”代表取值范围内的数字,
“/”代表”每”,
“-”代表从某个数字到某个数字,
“,”分开几个离散的数字
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
上面的例子表示每月1、10、22日的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 : 00至23 : 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
每一小时重启apache0 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点之间,每隔一小时重启apache0 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自学中心