php shell定时_shell执行php定时任务 - CSDN
精华内容
参与话题
  • 首先php可以写linux的shell脚本,是非常快捷方便的,也展现了php的强大。 (1)讲解头部的一些开头文件代表什么意思。 eg #!/usr/bin/env php #!/usr/bin/php 哎,看了网上的一些说法,说只要平常写#!/usr/...

    首先php可以写linux的shell脚本,是非常快捷方便的,也展现了php的强大。

    (1)讲解头部的一些开头文件代表什么意思。

    eg

    #!/usr/bin/env php

    #!/usr/bin/php

    哎,看了网上的一些说法,说只要平常写#!/usr/bin/env php就可以了,我也尝试了好多次,不成功,不得其原因,于是自己去琢磨了一下。

    大概的意思是指的php的编译路径,但是也不要说#!/usr/bin/env php就可以了,毕竟大家安装的php路径是不一样的,容易把人带到沟里面,也别说什么有通用的写法。

    简单,想要知道自己php的编译路径只需要执行一下linux命令:whereis php即可。


    OK,下面就开始写一个简单的shell脚本:my_php_shell.sh

    #!/usr/local/bin/php
    <?php
    
    
    date_default_timezone_set('Asia/shanghai');
    
    try{
    
         echo "ok--".date('Y-m-d H:i:s')."\n";
    
    
    }catch(Exception $e){
    
        echo "ok--".$e->getMessage()."\n";
    }
    ?>
    直接输出一个日期字符串。

    下面接着配置crontab,其中有一些要注意的地方。

    (1)执行crontab -e如果是第一次的话,会让你选择编辑crontab的方式


    我比较习惯vim,我选择了 3。

    有的人会说我选错了怎么办,能重新选择吗,可以的执行select-editor命令就能重新设置编辑器了。


    选择完毕之后执行:crontab -e就可以编辑crontab了。

    */1 * * * * /usr/local/nginx/html/my_php_shell.sh >> /usr/local/nginx/html/shell_log.txt
    

    这是我的一个crontab,:wq保存退出,然后sudo service cron restart重启。定时任务就开始执行了。

    执行结果,每分钟执行一次脚本:


    可能遇到的问题,crontab没有正常运行,如何查看日志,OK这个是必须的。

    首先要打开crontab的日志:

    sudo vim /etc/rsyslog.d/50-default.conf 

    cron.* /var/log/cron.log #将cron前面的注释符去掉 

    sudo service rsyslog restart //重启日志服务

    tail -f /var/log/cron.log //查看日志

    这样就开启了crontab的日志,如果出现crontab运行不正常的状态,就可以去查看日志信息了。

    日志内容:


    展开全文
  • Linux 执行定时任务 shell脚本

    万次阅读 2017-12-26 11:42:10
    Linux上面执行定时任务,我们可以利用crontab -e直接编辑定时任务 另外我们还可以写好shell脚本,定时去执行shell脚本,这两个方法都可以起到定时执行的作用 下面我详细说一下入如何执行shell脚本 1.声明一下我...

    Linux上面执行定时任务,我们可以利用crontab -e直接编辑定时任务 另外我们还可以写好shell脚本,定时去执行shell脚本,这两个方法都可以起到定时执行的作用

    下面我详细说一下入如何执行shell脚本

    1.声明一下我安装的lnmp环境,shell脚本存放的位置在 /usr/local/sbin路径下面

    新建一个test.sh

    #! /bin/bash  
    echo "yes" >> /home/abc.txt
    
    保存完毕后记得给予权限 chmod 777 test.sh

    Shell脚本通常都是以.sh 为后缀名的,这个并不是说不带.sh这个脚本就不能执行,只是大家的一个习惯而已。所以,以后您发现了.sh为后缀的文件那么它可能是一个shell脚本了。test.sh中第一行要以 “#! /bin/bash” 开头,它代表的意思是,该文件使用的是bash语法。如果不设置该行,虽然您的shell脚本也可以执行,但是这不符合规范。 # 表示注释,在前面讲过的。后面跟一些该脚本的相关注释内容以及作者和创建日期或者版本等等。当然这些注释并非必须的,如果您懒的很,可以省略掉,但是不建议省略。因为随着工作时间的逐渐过渡,您写的shell脚本也会越来越多,如果有一天您回头查看自己写过的某个脚本时,很有可能忘记该脚本是用来干什么的以及什么时候写的。所以写上注释是有必要的。另外系统管理员并非只有您一个,如果是其他管理员查看您的脚本,他看不懂岂不是很郁闷。下面该运行一下这个脚本了:

    2.将shell脚本加入定时任务

    crontab -e

    * * * * * /usr/local/sbin/test.sh
    
    

    参  数:
    -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列要运行的命令

    记住几个特殊符号的含义:
    “*”代表取值范围内的数字,
    “/”代表”每”,
    “-”代表从某个数字到某个数字,
    “,”分开几个离散的数字

    3.查看执行test.sh脚本的结果

    [root@iz2ze2ewt14msyueuiq693z home]# cat abc.txt 
    yes
    yes
    yes
    yes
    
    执行成功  666


    展开全文
  • shell脚本定时执行php程序

    千次阅读 2019-03-05 11:18:30
    其实很简单的,在做开发的过程中可能会遇到一些情况需要定时得去跑一些程序,这时呢我们就可以用到这crontab这个定时器来帮助我们完成这些任务。 首先写好你需要执行的php程序 我这里呢就是一个PDO链接 写入一...

    其实很简单的,在做开发的过程中可能会遇到一些情况需要定时得去跑一些程序,这时呢我们就可以用到这crontab这个定时器来帮助我们完成这些任务。

     

    首先写好你需要执行的php程序

    我这里呢就是一个PDO链接 写入一个时间

    然后我们写一个shell脚本来执行这个php程序

    就单纯的一个执行php程序的shell就写好了,然后咱们运行一下

    好,显示插入成功,证明这个shell是可以执行的。

    然后咱们写一个crontab的定时任务

    然后介绍一下五个星星分别表示什么:

    minute - 分钟 ,从0到59之间的任何整数

    hour - 小时, 从0到23之间的任何整数

    day - 天, 从1到31之间的任何整数(如果指定了月份,必须是该月份的有效日期)

    month - 月份, 从1到12之间的任何整数(或使用月份的英文简写如jan/feb等等)

    dayofweek - 星期 , 从0到7之间的任何整数,这里的0到7代表星期日(或者星期的英文简写如sun/mon等等)

     

    好,介绍完之后咱们开始写(写的时候注意要用root权限 sudo crontab -e )

    然后里面呢就可以这么写

     

    PS:需要给demo.sh和test.php 可执行的权限。(小编就是因为权限导致不执行,所以大家要注意一下)chmod +x test.php/demo.sh

     

     

    这样咱们看数据库里面,已经是记录好了,执行任务的时间呢大家可以按照自己的需求自己定义。好啦,小编就写到这里。有什么不会的可以联系小编

     

     

    QQ:869051375

    博主新站点:http://www.wang-chao.cn/

     

    展开全文
  • 一:定时任务 1.执行命令:crontab -e 2.按 i 编辑文件,添加命令如下: 10 12 * * * sh /home/uploadFile.sh 10 12 * * * 指每天12点10分开始执行该定时任务(具体时间用法可以参考其他资料) sh /home/...

    一:定时任务

    1.执行命令:crontab -e

    2.按 i 编辑文件,添加命令如下:

    10 12 * * * sh /home/uploadFile.sh

    10 12 * * * 指每天12点10分开始执行该定时任务(具体时间用法可以参考其他资料)

    sh /home/uploadFile.sh 指执行 home目录下的脚本uploadFile.sh

    3.按ESC返回命令行模式,再按:wq回车保存并退出

    定时任务创建成功。

    二:SFTP上传下载的shell脚本

    完整的sftp上传脚本如下:

    #!/bin/bash
    #SFTP配置信息
    #IP
    IP=1.1.1.1
    #端口
    PORT=22
    #用户名
    USER=username
    #密码
    PASSWORD=password
    #待上传文件根目录
    CLIENTDIR=/client/upload
    #SFTP目录
    SEVERDIR=/server/upload
    #待上传文件名
    FILE=filename

    lftp -u ${USER},${PASSWORD} sftp://${IP}:${PORT} <<EOF
    cd ${SEVERDIR}/
    lcd ${CLIENTDIR}
    put ${FILE}
    by
    EOF

    完整的sftp下载脚本如下:

    #!/bin/bash
    #SFTP配置信息
    #IP
    IP=1.1.1.1
    #端口
    PORT=22
    #用户名
    USER=username
    #密码
    PASSWORD=password
    #待接收下载文件根目录
    CLIENTDIR=/client/download
    #服务器待下载目录
    SEVERDIR=/server/download
    #待下载文件名
    FILE=filename

    lftp -u ${USER},${PASSWORD} sftp://${IP}:${PORT} <<EOF
    cd ${SEVERDIR}/
    lcd ${CLIENTDIR}
    get ${FILE}
    by
    EOF

    如果提示lftp命令无效,执行命令:yum install lftp -y,进行安装

    完。宇宙与你我同在,美好。

    展开全文
  • 问题描述:使用 crontab 添加计划任务定时调用存储过程,crontab日志显示计划任务已经执行,但是存储过程没有被调用。原crontab内容:50 10 * * * sh /shell/demo.sh demo.sql &gt;&gt; /shell/demo.log...
  • 宝塔linux面板 设置定时任务

    万次阅读 2018-03-31 13:48:06
    /www/server/php/56/bin/php /www/inc/test.php 第一个为php的绝对路径 执行的php文件绝对路径
  • 想做个定时任务,可是crontab最小只能一分钟执行一次。 还有就是访问有参数的链接,访问出来的的不一样。 用crontab每分钟执行一次crontab.sh文件 crontab命令 -e : 执行文字编辑器来设定时程表 -r : 删除目前的时...
  • shell脚本定时删除文件

    千次阅读 2019-08-02 14:07:17
    项目中需要定时清理文件夹中的过期文件(本篇文章指定3天前即为过期),百度了几篇博文记录下实现过程 这篇博文是在之后写的,当时的参考博文就没有再找了,有需要的小伙伴可以自行搜索 1.编辑shell脚本,删除...
  • shell脚本定时每天凌晨结束某一进程

    千次阅读 2018-05-11 13:11:02
    /usr/local/php/bin/php /data/test.php" | grep -v "grep" | awk '{print $2}'`echo $idecho "--------------"#结束当前进程kill -9 $idecho "killed $id"echo "---------...
  • application\common.php文件内容如下: ... 'app\shell\command\Test', ]; application\shell\command\Test.php内容如下: namespace app\shell\command; use think\console\Command; use think\console\Input...
  • shell调用php脚本,并传递参数

    千次阅读 2013-06-28 15:34:00
    命令行执行带参数的php脚本,并取得参数 张映 发表于 2011-07-15 分类目录: php ...一,为什么我们要在命令行下运行php脚本呢?...1,利用crontab去跑php,可以给服务器减压,当然在
  • 最近需要做一个定时任务功能,从网站找了很多相关的代码,windows实现方法综合起来大概就两种, 一、使用PHP ignore_user_abort 函数 即使关掉浏览器也能正常运行;(个人感觉PHP代码定时执行任务的效率不是很高) ...
  • Linux配置定时crontab及环境变量

    千次阅读 2019-03-07 14:04:59
    一、linux配置定时crontab 1、执行方法  a、crontab –e : 修改 crontab 文件,如果文件不存在会自动创建。  b、10 0 * * * . ./.bash_profile;sh /home/zjtxjb_scp1/etc/shell/x.sh  c、crontab -l:显示 ...
  • Laravel定时任务的每秒执行

    千次阅读 2019-09-09 13:47:57
    laravel中的任务调度可以不将每条命令都写入crontab,便于管理维护,而且可以...在shell脚本里循环60次每秒执行schedule:run命令,就达到了秒级定时任务的效果,以下是我使用的shell脚本: !/bin/bash step=1 #间...
  • 不管是定时访问,或者是在shell下去访问,其实我们有四个方法来达到目的,现在我们一起来看看四个方法吧: 1.elinks - lynx-like替代角色模式WWW的浏览器 例如:  elinks --dump http://www.baidu.com ...
  • PHP关于定时执行脚本的几种方法

    千次阅读 2018-09-29 09:52:35
    一:使用linux的定时任务shell脚本,使用shell命令,curl指定接口,来链接数据库并存储到数据库。 二:指定一个路由地址,然后使用网上的一些监控服务平台,例如360等来定时请求自己写好的路由,来定时处理业务 三...
  • 手动执行shell和crontab执行结果不同

    千次阅读 2016-12-29 17:40:31
    手动执行shell和crontab执行结果不同 在start.sh里加入下面内容 #!/bin/sh source /etc/profile
  • shell脚本调用php文件

    千次阅读 2016-07-19 17:23:59
    我在cron中设定了定时运行某一个shell脚本。问题就是怎么在shell脚本上调用某一个php文件呢??不过要求又高了一点,就是用shell脚本又是到了运行的时候了,就去判断上一次运行的php文件的进程是否还存在??上一次...
  • Windows服务器上使用bat定时执行php

    千次阅读 2016-03-06 16:33:17
    bat文件类似于shell文件,执行这个bat文件,就相当于依次执行里面的命令(当然,还可以通过逻辑来实现编程),所以,我们可以利用bat命令文件在windows服务器上面实现PHP定时任务。实际上在windows上定时任务,和...
1 2 3 4 5 ... 20
收藏数 9,039
精华内容 3,615
关键字:

php shell定时