资讯专栏INFORMATION COLUMN

linux下的crontab

Coly / 3284人阅读

摘要:定时任务要实现的功能是,每天获取一次沪深指数,沪深指数采用聚合数据免费会员天话不多说,上代码啦先封装个请求请求地址是否返回响应头信息是否将结果返回是否重定向超时时间传入参数请求接口获取数据,存进数据库,每天更新填写你自己的上证指数

linux定时任务

要实现的功能是,每天获取一次沪深指数,沪深指数采用聚合数据(免费会员1000/天)

话不多说,上代码啦

先封装个curl请求

public static function curl($url, $data = "", $raw = false)

{
    $ch = curl_init();
    $params[CURLOPT_URL] = $url;    //请求url地址
    $params[CURLOPT_HEADER] = false; //是否返回响应头信息
    $params[CURLOPT_RETURNTRANSFER] = true; //是否将结果返回
    $params[CURLOPT_FOLLOWLOCATION] = true; //是否重定向
    $params[CURLOPT_TIMEOUT] = 30; //超时时间
    if (!empty($data)) {
        $params[CURLOPT_POST] = true;
        $params[CURLOPT_POSTFIELDS] = $data;
    }
    $params[CURLOPT_SSL_VERIFYPEER] = false;
    $params[CURLOPT_SSL_VERIFYHOST] = false;
    curl_setopt_array($ch, $params); //传入curl参数
    $content = curl_exec($ch);
    curl_close($ch);
    if ($content && !$raw) {
        return json_decode($content, true);
    }
    return $content;
}

请求接口获取数据,存进数据库,每天更新

public function actionHsData()
{

$key = "填写你自己的key";

$data_h = CurlTools::curl("http://web.juhe.cn:8080/finance/stock/hs?type=0&key=".$key);
if($data_h["error_code"] == 0){
    $info = json_encode($data_h["result"]);
    $model = KvStore::find()->where(["key"=>"上证指数"])->one();
    if($model){
        $model->value = $info;
        $model->create_at = time();
        $model->save();
    }else{
        $model = new KvStore();
        $model->create_at = time();
        $model->key = "上证指数";
        $model->value = $info;
        $model->save();
    }
}

$data_s = CurlTools::curl("http://web.juhe.cn:8080/finance/stock/hs?type=1&key=".$key);
if($data_s["error_code"] == 0){
    $info = json_encode($data_s["result"]);
    $model = KvStore::find()->where(["key"=>"深证指数"])->one();
    if($model){
        $model->value = $info;
        $model->create_at = time();
        $model->save();
    }else{
        $model = new KvStore();
        $model->create_at = time();
        $model->key = "深证指数";
        $model->value = $info;
        $model->save();
    }
}

}

crontab -e 没有会创建一个crontab,有就直接打开该文件

找到你的php安装目录,我使用的是yii框架,所以需要找到yii的位置,Auto是控制器,HsData是方法名

crontab -l 可以查看当前定时任务

之前有人问我,为什么自动确认收货不使用crontab,这次就来了

如果你觉得这篇文章还不错,下角点个赞,是对我开源最大的鼓励

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/63058.html

相关文章

  • Linux下的crontab定时执行任务命令详解

    摘要:一服务是一个下的定时执行工具,可以在无需人工干预的情况下运行作业。用户把需要执行的命令序列放到文件中以获得执行。每天的下午点点点的时执行命令。每天的点点点点的执行命令注本文为转载,原文地址下的定时执行任务命令详解 在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron]。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。c...

    Fundebug 评论0 收藏0
  • linux上定期执行命令、脚本(cron,crontab,anacron)

    摘要:用执行的任务适合于小时运行的机器,执行的任务会在设定好的时刻执行,当机器处于关机状态下并错过了任务执行的时间,任务就无法预期执行了。两个文件中每个用户名占一行,并且不允许出现空格。任务标识其目的是识别消息,日志文件和执行特殊操作。 人类把时间做了切割,想象一条笔直的线永远向前,本来这条直线上什么都没有,但是人类根据时间的长短(单位)在这条直线上做了密密麻麻的标记(世纪-年-月-日-时-...

    douzifly 评论0 收藏0
  • Linux 定时任务 Crontab 介绍

    摘要:在中使用就可以创建定时任务。例如,对于用户定时任务就会写入到。没有一个统一的后台查看各个定时任务的状态。实现了以下功能通过文件,之九华存储定时任务。支持秒级定时任务支持基于日期固定时间间隔和类型的定时任务。   在linux中使用 Crontab-e就可以创建定时任务。定时任务写到var/spool/cron目录下对应的用户文件。例如,对于用户zj,定时任务就会写入到 var/spoo...

    scwang90 评论0 收藏0
  • Linux 系统定时任务:crontab,anacron

    摘要:只需要将定时任务按照格式添加到文件中,重新载入配置即可。即,判断系统是否安装了若安装了,则忽略中的这三条定时任务,改为使用中的配置。计划任务格式天数延迟时间分工作名称实际执行的命令以为例说明执行过程从分析到的天数为天。 Linux 系统定时任务:crontab,anacron 一、Cron 服务 1. 启动服务 service cron start 2. 关闭服务 service c...

    Cympros 评论0 收藏0
  • linux系统环境下的nginx日志切割

    摘要:保存成功退出,会提示使用命令有可能报的错误,这时需要安装相应的软件包 Shell没基础,但是需要实现nginx日志每日切割的效果,在网上找了一些照搬都没怎么成功,最后自己试验出来的才是真正能用的不是嘛参考文章:https://www.cnblogs.com/kaitu... 1.在某目录下创建需要定时执行的脚本 # cd /etc/nginx/mylogs 2.创建脚本名为cut-l...

    missonce 评论0 收藏0

发表评论

0条评论

Coly

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<