全方位站长技能、SEO优化学习平台
当前位置:网站首页 > 站长笔记 > 正文

linux系统:PHP如何设置计划任务和定时任务

作者:admin发布时间:2024-06-26分类:站长笔记浏览:47评论:0


温馨提示:手机扫码可阅读当前文章!
文章简介:我们最常用的建站都使用apache或者NGINX服务软件,不管你的网站程序是PHP还是asp还是易语言,都很难把计划任务做好,以PHP为例的话,设置定时任务和计划任务都需要开启特殊函数和特殊权限,但是很多时候我们确实需要计划任务怎么办呢?如...

我们最常用的建站都使用apache或者NGINX服务软件,不管你的网站程序是PHP还是asp还是易语言,都很难把计划任务做好,以PHP为例的话,设置定时任务和计划任务都需要开启特殊函数和特殊权限,但是很多时候我们确实需要计划任务怎么办呢?如果你是linux系统,我们就来尝试测试一下!我开发的zblog虚拟主机插件为大家提供免费虚拟主机,每月可以免费续期一次,对于在过期一月以内没有续费的虚拟主机,我们需要进行删除处理,这就需要计划任务来完成了。我们先写好计划任务脚本:index.php。然后让服务器每小时访问一次该脚本,以达到预期效果!


一、使用Linux定时任务crontab


Crontab 是 Linux 系统中用于设置周期性被执行的任务的命令。它的语法结构是:


*     *     *     *     *   command to be executed

-     -     -     -     -

|     |     |     |     |

|     |     |     |     +--- 星期几 (0 - 7) (周日=0或7)

|     |     |     +------- 月份 (1 - 12)

|     |     +--------- 日期 (1 - 31)

|     +----------- 小时 (0 - 23)

+------------- 分钟 (0 - 59)

crontab的命令构成为 时间+动作,其时间有分、时、日、月、周五种,操作符有

* 取值范围内的所有数字

/ 每过多少个数字

- 从X到Z

,散列数字


以下是给你列举出时间设置方法的crontab示例


1. 每1分钟执行一次 `myCommand`:

   * * * * * myCommand

2. 每小时的第3和第15分钟执行 `myCommand`:

   3,15 * * * * myCommand

3. 在上午8点到11点的第3和第15分钟执行 `myCommand`:

   3,15 8-11 * * * myCommand

4. 每隔两天的上午8点到11点的第3和第15分钟执行 `myCommand`:

   3,15 8-11 */2 * * myCommand

5. 每周一上午8点到11点的第3和第15分钟执行 `myCommand`:

   3,15 8-11 * * 1 myCommand

6. 每晚的21:30重启 `smb` 服务:

   30 21 * * * /etc/init.d/smb restart

7. 每月1、10、22日的4 : 45重启 `smb` 服务:

   45 4 1,10,22 * * /etc/init.d/smb restart

8. 每周六、周日的1 : 10重启 `smb` 服务:

   10 1 * * 6,0 /etc/init.d/smb restart

9. 每天18 : 00至23 : 00之间每隔30分钟重启 `smb` 服务:

   0,30 18-23 * * * /etc/init.d/smb restart

10. 每星期六的晚上11 : 00 pm重启 `smb` 服务:

    0 23 * * 6 /etc/init.d/smb restart

11. 每一小时重启 `smb` 服务:

    * */1 * * * /etc/init.d/smb restart

12. 晚上11点到早上7点之间,每隔一小时重启 `smb` 服务:

    * 23-7/1 * * * /etc/init.d/smb restart

如果你不知crontab有哪些命令,你可以借用--help来查看支持的命令行。如下图:

linux系统:PHP如何设置计划任务和定时任务  第1张


二、编辑计划任务


我们可以输入:crontab -l查看当前用户的计划任务列表,同时也可以验证你新增的计划任务是否设置成功!

我们可以输入:crontab -e进入计划任务模式, 然后按a键进入到编辑模式:

linux系统:PHP如何设置计划任务和定时任务  第2张


三、退出保存计划任务


当我们编辑好计划任务后,我们可以按下 ctrl+c 退出编辑模式;最后按下 shift+: 输入 wq 退出crontab。最后用crontab -l看看我们的计划任务是否设置成功!

比如我需要的是让服务器每隔1个小时访问一次index.php这个脚本(该脚本是我希望服务器执行的代码):

linux系统:PHP如何设置计划任务和定时任务  第3张

该代码的逻辑是:每小时的30分访问一下后面的URL。最后我们验证一下计划任务有没有被正确执行:

linux系统:PHP如何设置计划任务和定时任务  第4张


四、利用FTP工具来编辑计划任务


这个方法就更简单了,我们不再使用ssh的命令来设置计划任务,而是直接使用ftp工具编辑几乎任务脚本文件。大家应该知道很多ftp工具不仅支持ftp模式也支持SFTP模式,对,我们就是需要使用SFTP的连接模式,下面我以flashfxp为例,来给大家介绍。

第一步:下载安装flashfxp软件。

第二步:打开flashfxp软件,用SFTP模式连接你的服务器,注意这里需要输入的地址是你的服务器IP地址,账号是你的服务器超级管理账号,一般是root,密码也是root的密码。

linux系统:PHP如何设置计划任务和定时任务  第5张

linux系统:PHP如何设置计划任务和定时任务  第6张

第三步:找到/var/spool/cron/目录下的root文件,右键进行编辑,计划任务编辑完成以后,保存即可!

linux系统:PHP如何设置计划任务和定时任务  第7张

至此,计划任务设置完成,这个方法是否更简单呢?对于会使用ftp软件的伙伴来说,简直没有任何技术难度!而且我们需要处理的任务逻辑都交给index.php来完成,服务器只需要起到一个触发作用即可!

欢迎您,来自美国的朋友,您的IP:18.119.213.225,您的网络:麻省理工学院


欢迎 发表评论:

  • 请填写验证码

服务热线

1888888888

要发发发发发发

站长微信公众号

站长微信公众号

分享:

支付宝

微信