• 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脚本里面的命令。

        

  • 相关阅读:
    MyBatis使用
    华为如何实现基于Git的跨地域协同开发
    推荐一款华为最新的自动化代码检查工具
    我是如何进行code review的
    谈谈敏捷开发
    软件测试管理的一点小心得
    (转)技术转管理可能遇到的 3 大挑战及解决方案
    领域驱动设计和实践
    NET开源项目
    asp.net搭建mybatis开发环境
  • 原文地址:https://www.cnblogs.com/zydtm/p/9099131.html
Copyright © 2020-2023  润新知