宝哥软件园

linux使用crontab实现PHP来执行预定的任务

编辑:宝哥软件园 来源:互联网 时间:2021-11-08

首先,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安装crontab的说明:/sbin/service crond start//start Service/sbin/Service crond stop//close Service/sbin/Service crondstar//restart Service/sbin/Service crond reload//reload配置检查crontab服务状态:Service crond状态手动启动crontab服务:service crond start检查crontab服务是否已设置为启动,执行命令:ntsysv join boot自动启动3360 chkconfigcrontab上的35级crond命令:功能描述:安装语法:crontab [-u用户名][配置文件]或crontab [-u用户名][-elr]。补充说明:cron是常驻服务,提供定时器功能,允许用户在特定时间执行预设的指令或程序。只要用户可以编辑定时器的配置文件,就可以使用定时器功能。配置文件的格式如下:分钟小时日月日星期命令参数:-e编辑此用户的计时器设置。-l列出了该用户的计时器设置。-r删除此用户的计时器设置。-u用户名指定设置计时器的用户名。Crontab格式:基本格式:分钟、小时、天、月、周命令* * * * * *第一列表示分钟1 ~ 59。每分钟使用*或*/表示。1表示第二列表示小时1 ~ 23 (0表示0: 00),第三列表示日期1 ~ 31,第四列表示月份1 ~ 12,第五列标识周数0 ~ 6 (0表示星期日),第六列记住几个特殊符号的含义。“*”代表数值范围内的数字,“/”代表“每”,而“-”代表来自某个地方的命令。"分隔几个离散的数字#使用哈希符号作为注释# ——3354分钟(059)# | ——3354小时(023)# | | ——天(131)# |。| | ——个月(112)# | | |-一周中的第几天(07)(星期日=0或7)# | | | | | | | | # * * * *要执行的命令crontab几个示例如下:(1)第一个示例。30 21 * * */etc/init.d/nginx每晚21336030重启。(2)第二个例子,也就是本教程测试的例子,* * */usr/bin/PHP-f/root/test . phptest.log每分钟执行一次/root/test.php文件,并将结果输出到test . log完成以上基础工作后,我们来看看如何使用crontab定期执行PHP脚本:(1)我在/root下新建了一个test.php文件,内容如下:复制代码如下:php #!/usr/bin/php -q回显日期(' Y-m-d H:i:s ')。来自http://www.phpddt.com n ';说明:你可以使用whereis php来查找php执行文件的位置。(2)然后crontab -e写下如下shell:拷贝代码: * * * * */usr/bin/PHP-f/root/test . phptest . log说明:test.php必须是可执行文件:chmod x test.php测试结果正常,截图如下:

当然,您可以继续使用crontab -e添加任务。您可以在/var/spool/cron下看到一个根文件。在windows下,直接用windows规划任务,通过bat打开网页。不像linux那样被复制。

更多资讯
游戏推荐
更多+