会员登录 立即注册

搜索

使用织梦dedecms计划任务功能让网站每5分钟更新一次

[复制链接]
ainiu 发表于 2018-9-23 09:08:49 | 显示全部楼层 |阅读模式
ainiu
2018-9-23 09:08:49 159 0 看全部
使用过dedecms织梦系统的人都知道有一个计划任务的功能,这个功能很多人不知道怎么使用,今日小编就讲讲如何使用计划任务让网站每5分钟自动更新首页,也就是自动生成 内容来自dedecms
index.html文件,让网站的静态文件保持一个更新的状态,这个的好处就是可以让蜘蛛在爬取index.html的时候,不会返回状态码304 ,因为你的首页是更新的状态,有利于蜘蛛
的爬取。
大家可以看看蜘蛛爬取的状态是200 0 0 这才是我们想要的:
2014-03-27 04:01:46 W3SVC3 2*0.20*.*0.** GET /index.html - 80 - 123.125.71.14 Mozilla/5.0+copyright dedecms
(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html) 200 0 0 dedecms.com
2014-03-27 06:03:01 W3SVC3 2*0.20*.*0.** GET /index.html - 80 - 220.181.108.159 Mozilla/5.0+
(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html) 200 0 0
好,下面说说计划任务怎么使用:
打开后台,在左侧的菜单栏中的系统里面有一个计划任务管理,点击后,看到有一个计划任务执行的说明:

·为了确保任务能执行完全,建议使用Dede的客户端工具,否则只能通过JS触发,但JS触发有很多不确定因素会导致任务不能完成;
·JS触发方式:在所有文档页面中用JS调用/plus/task.php?client=js(必须禁用计划任务的密码,系统配置参数->其它选项);
·自行定制客户端:直接访问“http://www.cngin.com/plus/task.php?clientpwd=管理密码”,会返回其中一个可执行任务的网址(没有可用任务则返回串:notask),然后客户端运行这个
网址即可。
看过说明后,我们来新建一个计划任务,我们首先需要一个任务的执行文件,也就是运行程序,可以让网站更新的程序,此文件大家可以在附件里面下载:dede-post.php



把此文件:dede-post.php 上传到网站目录下的plus/task/里

为了可以让网站每隔5分钟更新一次我们还需要修改文件plus/task/task.php 内容来自dedecms
打开task.php把这个$daylimit参数改成300秒——$daylimit = 300;然后上传覆盖(你可以改成多少秒都行),好了,基本任务执行的条件都有了,还差一个JS触发方式,我们把代码:<script

language="javascript" src=" /plus/task.php?client=js"></script> 复制放到底部模板footer.htm 里面即可。 copyright dedecms
这样每当有人访问你的网站的时候就会触发这个JS,让你的执行程序运行一下,也就是网站自动更新了。赶紧试试吧


<?php
/*定时发布定时生成首页计划任务
*/
require_once(dirname(__FILE__).'/../../include/common.inc.php');
require_once(DEDEINC."/arc.partview.class.php");

$ntime =strtotime("now")-3600*24*3;//当前时间
$dsql->ExecuteNoneQuery("Update `dede_archives` set arcrank='0' where senddate>$ntime and arcrank!='-2' ");//将三天内未审核的文章设置为审核状态

/*----------
function makehtml_homepage.php(){
-----------*/

$homepageinfo_sql = "SELECT * FROM `dede_homepageset`";
$dsql->Execute('homepageinfo_rs',$homepageinfo_sql);
$homepageinfo = $dsql->GetObject('homepageinfo_rs');
$homeFile = $homepageinfo->position;//首页生成为位置
$showmod = $homepageinfo->showmod;//首页生成模式
$templet = $homepageinfo->templet;//首页模版
//print_r($homepageinfo);
    $fp = fopen($homeFile,"w") or die("你指定的文件名有问题,无法创建文件");
    fclose($fp);

    // 判断首页生成模式
    if ($showmod == 1)
    {
        // 需要生成静态
        $templet = str_replace("{style}", $cfg_df_style, $templet);
        $pv = new PartView();
        $GLOBALS['_arclistEnv'] = 'index';
        $pv->SetTemplet($cfg_basedir.$cfg_templets_dir."/".$templet);
        $pv->SaveToHtml("../".$homeFile);
echo "alert('计划任务触发成功');";
        //echo "成功更新主页HTML:".$homeFile."<br /><a href='".$cfg_basehost."/index.html' target='_blank'>浏览...</a><br />";
    } else {
        // 动态浏览
        if (file_exists($homeFile)) @unlink($homeFile);
        //echo "采用动态浏览模式:<a href='".$cfg_basehost."/index.php' target='_blank'>浏览...</a><br />";
    }


    if($serviterm =="")
    {
        $config=array();
    } else {
        list($servurl, $servuser, $servpwd) = explode(',',$serviterm);
        $config=array( 'hostname' => $servurl, 'username' => $servuser,
                       'password' => $servpwd,'debug' => 'TRUE');
    }
    //如果启用远程站点则上传
    if($cfg_remote_site=='Y' && $showmod==1)
    {
        if($ftp->connect($config) && $isremote == 1)
        {
            if($ftp->upload($position, $remotepos, 'ascii')) echo "远程发布成功!"."<br />";
        }
    }
/*----------
}
-----------*/
//成功返回信息
$dsql->ExecuteNoneQuery("Update `dede_sys_task` set sta='成功' where dourl='dede-post.php' ");
//echo "计划任务执行成功!";
exit();
?>

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册 |

x
回复

使用道具 举报

  • 您可能感兴趣
您需要登录后才可以回帖 登录 | 立即注册 |

本版积分规则 返回列表

查看:159 | 回复:0

爱牛网络专注SEO优化,百度快照优化,网络优化推广经验的北京SEO优化公司,专业的网络优化团队为企业提供搜索引擎优化,网站建设,网站制作公司,关键词排名优化,百度排名优化
关于我们
公司简介
发展历程
联系我们
本站站务
友情链接
新手指南
内容审核
商家合作
广告合作
商家入驻
新闻合作

官方微信

手机版

手机APP

联系电话:010-63495805 地址:北京市朝阳区高碑店新村东区136号 邮箱:75124047@qq.com
北京爱牛科技有限公司 © 版权所有 ICP备案号: ( 京ICP备10200143号-2 )
快速回复 返回顶部 返回列表