linux 定时任务

定时执行php脚本

1.确认系统中安装PHP-cli

  安装命令:

  apt-getinstall php5-cli

  2.查看phpinfo()

  若phpinfo()中"Server API"为"Apache2.0 Handler"则为apache模块安装模式,若为"CGI"则为cgi模块安装模式

  2.1 如果安装模块为Apache,则进行以下步骤(一般情况下为Apache,看之前自己安装的是哪个模块)

  安装Lynx浏览器,以便进行相应的php执行

  sudoapt-get install lynx

  安装完后,执行

  crontab -e

  若初次执行会出现以下

  Select aneditor.  To change later, run

   ‘select-editor’.

  1. /bin/ed

  2. /bin/nano        <—- easiest

  3. /usr/bin/vim.tiny

  4. /usr/bin/vim.basic

  选择一个Vim编辑器就行,关于Vim的用法自行百度

  Choose 1-4 [2]: 3

  这里选择了3

  但是如果你选错了,就可能会遇到点麻烦,没有办法正常编辑,crontab -e。 怎么办?

  执行这个命令:select-editor  (针对crontab的一个命令), 可以让你重新选一次。

  设置crontab时,可能会操作的东东

  设置默认编辑模式 vim /etc/profile     增加EXPORT EDITOR=vim

  VIM /etc/cron.allow, vim /etc/cron.deny

  crontab -e结果存放在/var/spool/cron/crontabs中

   

  进入编辑界面后,如下:

  

 

  在下面添加定时执行命令:

  * * * * * lynx -dump http://xxxxx.xx/cron.php  

  //代表每一分钟执行http://xxxxx.xx/cron.PHP的脚本文件一次

   0  */1  *  *  *    每小时执行一次为

   *  */1  *  *  *     代表每隔一小时每一分钟都执行一次

  在此之前要确认cron.php的权限为可执行("chmod 755/var/www/html/cron.php")

 

2.2如果安装模块为CGI安装模式

  相较上面不同的是,不需要安装lynx浏览器,直接输入php就行

  */1 * ** * php /var/www/crontab.php  

 

3. crontab命令:

  crontab -e

  在crontab内容文件下:

  # m h  dom mondow   command

  假定需要定时执行的php脚本文件放在主文件夹下(默认为/var/www/html)

  加上

  SHELL=/bin/sh

  PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

  */1 * ** * lynx -dump http://localhost/crontab.php
  */1 * * * * date >> /home/ubuntu/test.txt

  表示每一分钟执行相应的SHELL脚本

  每一分钟把当前日期时间输出到相应的txt中

  到相应的文件夹下看txt文件里面的内容,若有相应的执行时间,则证明日期输出可定时执行

 

调度多个任务

    1)在crontab -e 中直接写.(不推荐)

    大家可以试试,我在这里就不试了。

    2)可以把所有的任务,写入到一个可执行文件(shell编程)(推荐)

     首先编写:mytask.sh(注意:shell编程的文件后缀为 .sh)

    

    大家发现没有:这个文件是没有可执行的权限的,忘了到前面复习一下,所以接下来我们要改变该文件的权限。

    

    然后编写:crontab

    

    

    保存并退出:

    

 

    意思是:每分钟都会执行该shell脚本里面的命令。

    

转载于:https://www.cnblogs.com/zydtm/p/9099131.html

windows下使用PHP实现定时执行脚本 一直以来,使用PHP定时运行脚本都是让大家头痛的问题,但是我们确实可以利用windows的计划任务来定时调用PHP脚本,当然这还要感谢PHP.exe。下面,站长将向大家介绍,如何来实现。 目标:根据系统时间定时执行PHP脚本,不需要人工运行(这里以定时新建一个文本文件并写入内容为例) 解决步骤: 1、建立PHP脚本,如下: 大家,可以看见,我们在这里对将要创建的文件路径使用了绝对路径,这是因为我们将要通过windows命令行来调用此脚本,由于cmd.exe与我们的web根目录是不一样的,而php文件目录函数只能在web根目录范围内进行操作,所以我们需要使用绝对路径,否则代码将正确执行但是文件将不会被创建。 2、新建.bat文件,代码如下: "D:\Program Files (x86)\Web\PHP\php.exe" -f "D:\Program Files (x86)\Web\www\root\go.php" 保存,并命名为run.bat。 注意,如果你的PHP目录或web根目录中含有空格,你需要使用引号将整个路径引用起来,否则将运行错误。站长的目录中含有空格,因此使用了引号。创建属于你自己的bat文件时,请根据自身情况决定是否要使用引号和文件的目录。 3、添加windows计划任务 从控制面板中打开计划任务(这里主要针对win7用户进行说明),点击“创建基本任务”,填写名称和描述,然后点击“下一步”,选择任务执行的频率,很好理解,然后点击“下一步”,设置任务的执行时间,然后点击“下一步”,选择“启动程序”,点击“下一步”,点击浏览按钮选择我们建立的“run.bat”文件,点击”下一步“,点击”完成“。 4、运行 根据你设置的时间,系统会定时自动运行,如果你等不及也可以手动执行。在”计划任务“中间栏下方的任务名中查找你刚才新建的任务,鼠标双击该任务,单击右边的运行按钮,系统会弹出一个cmd对话框然后关闭,这说明你的脚本已经正确执行了,到创建文件的目录去检查文件是否创建。 好了,在windows下使用PHP实现计划任务就介绍到这里了,希望对大家有帮助。 (责任编辑:麦田守望者)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值