PbootCMS简单两步增加自动清理日志功能

news2024/9/22 15:44:51

问:网站没人访问触发不了清理怎么办?

答:我建议你不要关心这个,都没人访问你的网站,你还有个锤子东西需要清理?

问:听人说前台插入script触发会不安全?

答:都是成年人了其中的猫腻自行辨别,或者你需要交点智商税,该触发方式源于官方的蜘蛛记录与文章浏览量。

问:有没有非前台插入script的方法?

答:有但不推荐,非script无非就是在公共控制类里面执行吧,但是官方更新会覆盖。非要杠的话把函数里的代码复制到公共控制类里面去就行。

还是直接进入主题,原理懂的都懂,不懂我也没办法

第一步:打开/apps/home/controller/ExtLabelController.php文件后,在下图红圈位置下方添加代码,大概36行

// 自动日志清理脚本
public function clean_log()
{   
    $interval = '3';// 每隔多少天清理一次
    $retain = '7';// 需要删除多少天前的日志
    check_dir(RUN_PATH . '/archive', true);
    $data = json_decode(trim(substr(file_get_contents(RUN_PATH . '/archive/log_ticket.php'), 15)));
    if($data){
        if($data->expire_time && $data->expire_time < time()){
            $startday = date('Y-m-d H:i:s',mktime(0,0,0,date('m'),date('d')-$retain,date('Y')));
            $rs = \core\basic\Db::table('ay_syslog')->where("create_time<'$startday'")->delete();
            if($rs){
                $data->expire_time = time() + 60 * 60 * 24 * $interval; // 下一次清理时间
                create_file(RUN_PATH . '/archive/log_ticket.php', "<?php exit();?>".json_encode($data), true);
            }
        }
    } else {
        $data->expire_time = time() - 60 * 60 * 24 * $interval; // 初始化清理时间
        create_file(RUN_PATH . '/archive/log_ticket.php', "<?php exit();?>".json_encode($data), true);
    }
}

第二步:在前端公共模板底部添加下面代码,至于为什么不直接在ExtLabelController控制器run函数中调用,别问那么多,问就去看自动清理缓存的教程

<script src='/?p=/ExtLabel/clean_log/' async='async'></script>

保存文件,完成!这样每天第一个访问你网站就会触发自动清理脚本,如果上次清理时间指定时间前(时间可自行设置,详见代码注释),就会执行自动清理

注:不知道你学废了没有,如果你还没学废,可以请博主吃个快餐有偿代劳

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/57765.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Web应用程序,简单的日志系统解决方案

一、简介 今天介绍一下&#xff0c;当你的程序没有日志系统时&#xff0c;如何快速方便查看当前程序日志的解决方案。如果你的程序有日志系统&#xff0c;可以不看本篇博客哈。本文实例是使用 C# 讲解&#xff0c;当然实现的核心思想适用于其他语言开发的系统。 二、解决方案…

nexus搭建测试dockermavennpm仓库

JAVA下载 https://www.oracle.com/java/technologies/downloads/archive/ https://login.oracle.com/mysso/signon.jsp QQq951699. [rootvm1 ~]# mkdir -p /data [rootvm1 ~]# mv jdk-8u221-linux-i586.tar.gz /data [rootvm1 ~]# cd /data;tar xf jdk-8u221-linux-i586.tar.g…

222页8万字智慧园区IOC平台运维管理平台解决方案

目 录 第一章 项目概述 7 1.1 园区格局的变化 7 1.1.1 传统安防面临的不足与挑战 7 1.1.2 园区安防未来的发展趋势 7 1.2 需求分析 8 1.2.1 平台集成化 8 1.2.2 数据可视化 8 1.2.3 管控全面化 8 1.2.4 覆盖高清化 9 1.2.5 指挥简易化 9 1.2.6 建设智能化 9 1.3 建设思路 9 1.3…

基于物联网设计的自反馈深紫外杀菌消毒系统(STM32F407)

一、前言 目前常态化防控病毒有很多种,其中主要是人工喷洒消毒液这种消毒方式,这种消毒效果无法得到量化,同时还可能存在喷洒盲区,也会对公民的呼吸道产生刺激,腐蚀损坏公共设施,而对于室内公共空间的消毒的要求会更高,基于这样的状况,人工喷洒消毒液这种方式肯定不太…

[附源码]JAVA毕业设计教学成果管理平台(系统+LW)

[附源码]JAVA毕业设计教学成果管理平台&#xff08;系统LW&#xff09; 目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术…

C语言——利用矩阵LU分解法求逆、行列式

本章介绍了LU分解法&#xff0c;以及如何利用LU分解法求逆、行列式&#xff0c;针对每个公式、原理、代码进行了详细介绍&#xff0c;希望可以给大家带来帮助。 目录 LU分解法 概念 确定L、U矩阵 LU分解法的意义 程序设计 LUP求逆 1&#xff09;代码 2&#xff09;代…

uniapp 监听通知栏消息插件(支持白名单、黑名单、过滤) Ba-NotifyListener

简介&#xff08;下载地址&#xff09; Ba-NotifyListener 是一款实时监听通知栏消息的uniapp插件。支持白名单、黑名单&#xff1b;支持监听消息移除&#xff1b;支持自定义过滤条件&#xff08;如短信验证码&#xff09;等。 支持监听所有通知栏消息&#xff08;包含id、ti…

springboot整合layui排坑

参考&#xff1a;thymeleaflayui加载页面渲染时TemplateProcessingException: Could not parse as expression: "_yaoshengting的博客-CSDN博客 目录 1.table渲染问题 2.解决方式 1.将clos后的[[ ]]分成四行写 2.加上 th:inline"none 1.table渲染问题 源代码&…

[附源码]Python计算机毕业设计Django拉勾教育课程管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

spark shuffle·读写流程 和 rdd持久化

1.对比mapreduce和spark mapreduce里 map的第3条就是说&#xff0c;比如我存了很多条数据&#xff0c;如果一条一条写进磁盘&#xff0c;肯定有很多次IO&#xff0c;我先归并到一个缓存里面再溢写磁盘。 spark与其的差别就是用map代替了buffer&#xff0c;因为map存的key唯一&…

[附源码]JAVA毕业设计教学辅助系统(系统+LW)

[附源码]JAVA毕业设计教学辅助系统&#xff08;系统LW&#xff09; 目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&…

[附源码]计算机毕业设计springboo酒店客房管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

【小5聊】使用div+css布局绘制32支球队比赛对阵图,拭目以待冠军花落谁家

虽然不是狂爱足球爱好者&#xff0c;但多少会有关注下&#xff0c;像梅西和C罗是经常听到的 可能是没有我们队的原因&#xff0c;关注会比较少&#xff0c;只看个结果&#xff0c;所以 趁着这次机会&#xff0c;通过js前端技术divcss布局方式绘制本次世界杯足球比赛对阵图 2022…

Android 腾讯位置服务地图简单使用

文章目录概述腾讯位置服务地图SDK兼容性创建工程获取Appkey配置AppKey配置工程代码混淆权限配置地图基础地图地图类型个性化地图3D建筑行政区划出现的问题及解决源码概述 ​ 本文参考腾讯位置服务官方文档&#xff1a;Android地图SDK | 腾讯位置服务 (qq.com) ​ 腾讯位置服…

【数据结构与算法】一套链表 OJ 带你轻松玩转链表

✨个人主页&#xff1a;bit me ✨当前专栏&#xff1a;数据结构 ✨刷题专栏&#xff1a;基础算法 链 表 OJ&#x1f3f3;️一. 移除链表元素&#x1f3f4;二.反转链表&#x1f3c1;三.链表的中间结点&#x1f6a9;四.链表中倒数第k个结点&#x1f3f3;️‍&#x1f308;五.合并…

华为阿里等技术专家15年开发经验总结:SSM整合开发实战文档

前言 都说程序员工资高、待遇好&#xff0c; 2022 金九银十到了&#xff0c;你的小目标是 30K、40K&#xff0c;还是 16薪的 20K&#xff1f;作为一名 Java 开发工程师&#xff0c;当能力可以满足公司业务需求时&#xff0c;拿到超预期的 Offer 并不算难。然而&#xff0c;提升…

Spring基础篇:事务开发

Spring整合持久层 Spring技术为什么要与持久层技术进行整合&#xff1f; 1、JavaEE开发过程中我们需要持久才能进行数据库的访问操作。 2、JDBC Hibernate MyBatis进行持久层过程中存在大量的代码冗余。 3、Spring基于模板设计模式对这些持久层技术呢作出了封装。 ps注释&…

[附源码]计算机毕业设计疫情期间小学生作业线上管理系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

【Android App】在线直播之搭建WebRTC的服务端(图文解释 简单易懂)

有问题或需要源码请点赞关注收藏后评论区留言私信~~~ 一、WebRTC的系统架构 WebRTC&#xff08;网页即时通信&#xff09;是一个支持浏览器之间实时音视频对话的新型技术&#xff0c;WebRTC体系由应用于实时通信的编程接口和一组通信协议组成&#xff0c;已成为互联网流媒体通…

(八) 共享模型之管程【ReentrantLock】

相对于 synchronized 具备如下特定&#xff1a; &#xff08;1&#xff09;可中断 &#xff08;2&#xff09;可以设置超市时间 &#xff08;3&#xff09;可以设置为公平锁 &#xff08;4&#xff09;支持多个条件变量 与 synchronized 一样&#xff0c;都支持可重入 基本语法…