• Linux服务器上crontab定时执行脚本文件


    1、安装crontabs
    linux应该都有crontab,没有的话可以安装一下:
    yum install  crontabs

    安装完以后开启crontab服务
    service crond start
     
    用以下的方法启动、关闭这个cron服务:
    service crond start //启动服务 
    service crond stop //关闭服务 
    service crond restart //重启服务 
    service crond reload //重新载入配置
    service crond status //查看crontab服务状态
    service crond start //手动启动crontab服务
     
    查看crontab服务是否已设置为开机启动,执行命令:ntsysv (若不存在则执行yum install ntsysv)

     2、编写shell和要执行的脚本文件

    task.sh:
    # @file == 服务器要执行的任务文件路径
    # /usr/bin/php == 服务器中php目录
    # 在Linux环境下 对该sh脚本 进入vi后执行  :set ff = unix 再 :wq退出
    # 修改脚本的文件格式,兼容问题
    # 给该脚本777权限
    # 执行命令crontab -e 添加任务 */1 * * * *  root(用户名)  命令(脚本)路径
    #!/bin/bash
    file='/var/www/html/script/task/cronJob-auto-confirm-recharge.php'
    /usr/bin/php  $file
    日后可将所有定时任务都放到task文件夹中:
    #!/bin/bash
    path='/var/www/html/script/task/'
    filelist=`ls $path/*.php`
    for file in $filelist
    do
        /usr/bin/php  $file
    done
    cronJob-auto-confirm-recharge.php:
    // 加载基础文件
    include dirname(dirname(__FILE__)).'/loadThink.php';
    
    try {
    
        /* @var $walletReChargeModel appcommonmodelWalletReCharge */
        $walletReChargeModel = model('common/walletReCharge');
    
        $walletReChargeModel->startTrans();
    
        // 更新充值列表
        $walletReChargeModel->refreshList();
    
        // 确认充值
        $walletReChargeModel->where(['is_settled' => 0, 'status' => 1])->column('id');
        $walletReChargeModel->confirmReCharge($ids);
    
        htcLog('CronJob Executed At:'.now(), 'cronJob.log');
    
        $walletReChargeModel->commit();
    
    }catch (Exception $e) {
        htcLog($e->getMessage(), 'cronJob.log');
        $walletReChargeModel->rollback();
    }
    3、添加相应的任务
    在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。
    分钟   小时     日    月   星期    用户   命令
     *      *       *     *    *      用户    命令(脚本)路径
    每一分钟执行一次则:
     */1      *       *     *    *   用户  命令(脚本)路径

    直接执行php脚本文件的话  * * * * * php fileName.php 
    慢慢来才是最快的
  • 相关阅读:
    寄存器基础知识
    基础知识
    架构
    Mac下Apache服务器的初步搭建
    ios字体简单设定
    xcode中自定义log打印
    jQuery打印插件
    ionic3生命周期钩子
    ES5 数组方法map
    $compile的妙用
  • 原文地址:https://www.cnblogs.com/jongty/p/11672309.html
Copyright © 2020-2023  润新知