【Linux 服务器运维】定时任务 crontab 详解 | 文末送书
文章目录
- 前言
- 一、crontab 介绍
- 1.1 什么是 crontab
- 1.2 crontab 命令工作流程
- 1.3 Linux 定时任务分类
- 二、crontab 用法详解
- 2.1 crond 服务安装
- 2.2 crontab 文件内容分析
- 2.3 crontab 命令用法
- 2.3.1 查看定时任务列表
- 2.3.2 编辑/创建定时任务
- 2.3.3 删除定时任务
- 2.3.4 其他 crontab 相关操作
- (1)备份 crontab 文件
- (2)恢复丢失的 crontab 文件
- 三、crontab 的注意事项
- 3.1 注意环境变量问题
- 3.2 系统级任务调度与用户级任务调度
- 3.3 其他注意及总结
- 四、调试不起作用/失效的 crontab
- 4.1 失效的 crontab 调试解决办法
- 4.2 定时任务不执行原因及解决办法
- 文末送书《速学Linux:系统应用从入门到精通》
- 博主推荐理由
- 本书内容简介
- PART1:为什么学习Linux系统
- PART2:Linux系统的应用领域
- PART3:Linux的版本选择
- 作者简介
前言
本文思维导图概述的主要内容:
一、crontab 介绍
1.1 什么是 crontab
Crontab 是一个在 Unix 和 Linux 操作系统上用于定时执行任务的工具。它允许用户创建和管理计划任务,以便在特定的时间间隔或时间点自动运行命令或脚本。Crontab 是 cron table
的缩写,cron
指的是 Unix 系统中的一个后台进程,它用于执行预定的任务。
Crontab 文件包含一系列计划任务条目,每个条目都定义了一个任务的执行时间和要运行的命令或脚本。这些任务可以按照分钟、小时、日、月和星期等不同的时间单位进行安排。
1.2 crontab 命令工作流程
crontab 命令通常用于在 Linux 系统中设置定期执行的任务,并将这些任务存储在 crontab 文件中。为了使用 crontab 命令,系统需要依赖crond 服务
的支持。通常情况下,在操作系统安装时,crond服务会被默认安装并自动启动。crond进程会每分钟定期检查crontab文件中的任务列表,以确定是否有需要执行的任务,如果有,它会自动执行这些任务。
下面一张拓扑图方便理解:
可以总结为:只有安装了 crond 服务以后 crontab 命令才能使用,crontab 命令按照指定的格式编辑定时任务保存在 crontab 文件中,crond 服务会每分钟定期查看 crontab 文件中的定时任务列表去执行任务。
1.3 Linux 定时任务分类
Linux 系统下的任务调度分为两类:系统任务调度和用户任务调度。
- 系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。
- 用户任务调度:用户自定义的定期要执行的工作,用户可以使用 crontab 工具来定制自己的计划任务,所有用户自定义的 crontab 文件都被保存在
/var/spool/cron
目录中。其文件名与用户名一致,例如我用 test 用户设置了一个定时任务,那么其对应的 crontab 文件就是/var/spool/cron/test
。
二、crontab 用法详解
2.1 crond 服务安装
一般情况下crond服务在安装系统的时候会被默认安装,并自动运行。
centos 或者红帽系统下检查服务是否安装:
systemctl status crond
如果显示 Unit crond.service could not be found.,则需要安装crond服务。
# crond 安装:
yum -y install crontabs
# 启动 crond 服务:
systemctl start crond
# 关闭 crond 服务:
systemctl stop crond
# crond设置开机自启动:
systemctl enable crond
# 重新载入配置
systemctl reload crond
# 查看 crontab 服务是否已经加入了开机启动
chkconfig crond --list
# 加入开机自动启动
chkconfig crond on
2.2 crontab 文件内容分析
如前所述,我们已经了解了使用 crontab 命令来编辑并保存定时任务到 crontab 文件中。现在,让我们深入了解一下定时任务的格式是怎么样的。
你可以执行以下命令来查看 crontab 文件的示例内容:
前四行是用来配置 crond 任务运行的环境变量
第一行 SHELL 变量指定了系统要使用哪个 shell,这里是 bash
第二行 PATH 变量指定了系统执行命令的路径
第三行 MAILTO 变量指定了 crond 的任务执行信息将通过电子邮件发送给 root 用户
如果 MAILTO 变量的值为空,则表示不发送任务执行信息给用户
最后一行是 Crontab 的条目,基本格式如下:
* * * * * user-name command to be executed
就是通过设置 crontab 文件中的这五个*
来确定任务的执行时间的, user-name 是执行任务的用户,command to be executed 是要执行的命令或者脚本任务,我们具体来看下这五个*
所代表的含义。
其中,星号代表通配符,表示可以匹配任何值。每个星号代表不同的时间单位:
- 第一个星号表示分钟(0-59)
- 第二个星号表示小时(0-23)
- 第三个星号表示一个月中的某一天(1-31)
- 第四个星号表示月份(1-12或者用缩写,如1表示一月,2表示二月)
- 第五个星号表示星期几(0-7或者用缩写,0和7都表示星期日,1表示星期一,以此类推)
其实,除了*
这个字符之外还有其他的特殊字符,用来满足不同的定时需求。
特殊符号 | 含义 | 举例说明 |
---|---|---|
*(星号) | 表示任何时间 | 例如: * 8 * * * 表示每天 8 点的每一分钟都执行一次命令 |
,(逗号) | 用逗号隔开表示该字段的取值 | 例如:10 8,10,12 * * * 表示在每天的 8:10,10:10,12:10 都会执行一次命令 |
-(中杠) | 表示两个整数之间的取值范围 | 例如:10 8 * * 1-3 表示每周一到周三的 8:10 执行一次命令 |
/(正斜线) | 表示间隔多久执行一次 | 例如:* /10 * * * * 表示每隔 10 分钟就执行一次命令 |
总结:
- 周和日最好不要同时用
- 定时任务要加注解
- 可以定向到日志文件或者空文件
- 定时任务一定是绝对路径,且目录必须存在才能出结果
- crontab 服务一定要开启运行
2.3 crontab 命令用法
2.3.1 查看定时任务列表
使用下面命令进行查看定时任务列表
[test@hecs]# crontab -l # 查看定时任务列表
2.3.2 编辑/创建定时任务
实际上,在使用中,设置Crontab定时任务非常容易。只需切换到执行命令的用户,然后运行crontab -e
命令,这将打开一个空白文件,你只需在其中输入要定时执行的任务即可。
[test@hecs]# crontab -e # 编辑定时任务
#进入 crontab 编辑界面。会打开Vim编辑你的任务*/10 * * * * /home/test/test.sh
编辑完保存之后,就会在/var/spool/cron/
目录生成一个名字叫test文件,这个文件就是test用户的crontab文件。
在crontab [选项] file 命令中, file 指的是命令文件的名字,表示将 file 作为 crontab 的任务列表文件并载入 crontab,若在命令行中未指定文件名,则此命令将接受标准输入(键盘)上键入的命令,并将它们键入 crontab, 例如:crontab -u test /root/jobs.txt ,表示用/root/jobs.txt 这个文件中的任务列表载入crontab。
2.3.3 删除定时任务
# 直接删除不提示
[test@hecs]# crontab -r
或
# 删除前给出提示确认
[test@hecs]# crontab -i
执行上述命令后,会从/var/spool/cron
目录中删除用户的 crontab 文件,如果不指定用户,则默认删除当前用户的 crontab 文件。
注意:执行删除命令后,即该用户下所有的定时任务都会被删除。如果只是想删除某个定时任务,用crontab -e
命令编辑 crontab 文件删除某个任务即可。
2.3.4 其他 crontab 相关操作
(1)备份 crontab 文件
执行下面的命令可以备份当前的 crontab 文件
crontab -l > $HOME/mycron
(2)恢复丢失的 crontab 文件
如果不小心误删了crontab文件,假设你在自己的$HOME
目录下还有一个备份,那么可以将其拷贝到/var/spool/cron/<username>
,其中 是用户名。如果由于权限问题无法完成拷贝,可以用:crontab 其中,是你在$HOME
目录中副本的文件名。
有些 crontab 的变体有些怪异,所以在使用 crontab 命令时要格外小心。如果遗漏了任何选项,crontab 可能会打开一个空文件,或者看起来像是个空文件。这时直接退出,不要按Ctrl-D
,否则你将丢失 crontab 文件。
三、crontab 的注意事项
3.1 注意环境变量问题
在 crontab 文件中定义多个调度任务时,需要特别注意的一个问题就是环境变量的设置
脚本中涉及文件路径时写全局路径;
脚本执行要用到java或其他环境变量时,通过source命令引入环境变量,如:
cat start_cbp.sh
#!/bin/sh
source /etc/profile
export RUN_CONF=/home/d139/conf/platform/cbp/cbp_jboss.conf
/usr/local/jboss-4.0.5/bin/run.sh -c mev &
当手动执行脚本OK,但是crontab死活不执行时。可以尝试在crontab中直接引入环境变量解决问题。
0 * * * * . /etc/profile;/bin/sh /var/www/java/audit_no_count/bin/restart_audit.sh
3.2 系统级任务调度与用户级任务调度
root 用户的任务调度操作可以通过crontab -uroot -e
来设置,也可以将调度任务直接写入/etc/crontab
文件,需要注意的是,如果要定义一个定时重启系统的任务,就必须将任务放到/etc/crontab
文件,即使在 root 用户下创建一个定时重启系统的任务也是无效的。
3.3 其他注意及总结
- 环境变量问题,例如crontab不能识别Java的环境变量
crontab执行shell时,只能识别为数不多的环境变量,普通的环境变量是无法识别的,所以在编写shell时,最好使用export重新声明变量,确保脚本执行。 - 命令的执行最好用脚本
- 脚本权限加/bin/sh,规范路径/server/scripts
- 时间变量用反斜线转义,最好用脚本
- 定时任务添加注释
>/dev/null 2>&1 ==>&>/dev/null
别随意打印日志文件- 定时任务一定是绝对路径,且目录必须存在才能出结果
- 避免不必要的程序以及命令输出
- 定时任务之前添加注释
- 打包到文件目录的上一级
- 周和日最好不要同时用
- 可以定向到日志文件或者空文件
- crontab 服务一定要开启运行
四、调试不起作用/失效的 crontab
4.1 失效的 crontab 调试解决办法
当 crontab 突然失效时,可以尝试/etc/init.d/crond restart
解决问题。或者查看日志看某个 job 有没有执行/报错tail -f /var/log/cron
。
千万别乱运行crontab -r
,这会从 crontab 目录(/var/spool/cron)中删除用户的 crontab 文件。删除了该用户的所有 crontab 都没了。
在 crontab 中%
是有特殊含义的,表示换行的意思。如果要用的话必须进行转义\%
,如经常用的date +%Y%m%d
在 crontab 里是不会执行的,应该换成date +\%Y\%m\%d
4.2 定时任务不执行原因及解决办法
定时任务设置的格式正确,手动执行也没问题,但是定时任务就是不执行,这种情况的出现,一般是由下面几个原因造成的。
- crond服务未启动
需要首先排查下crond服务是否启动,可使用systemctl status crond 命令查看,如果未启动,则启动即可。 - 脚本无权限
如果要执行脚本无权限,通过chmod命令加上权限即可。 - 文件路径问题
定时任务要执行的脚本中涉及文件路径时,一定要写全局路径,不能写相对路径。 - 环境变量问题
定时任务要执行的脚本要用到java或其他环境变量时,需要通过source命令引入环境变量。
[test@vm1]# cat test.sh
#!/bin/bash
source /etc/profile
java -jar /home/test/test.jar
文末送书《速学Linux:系统应用从入门到精通》
今天博主推荐的是这本由Linux领域头部号主,良许老师编写的这本《速学Linux:系统应用从入门到精通》
-
参与方式:关注博主,评论区留言即可参与
-
送出数量:暂定送出 1~3 本给粉丝
一本书打开Linux学习之门的钥匙!!
- 京东官方购买链接:https://item.jd.com/14114382.html
博主推荐理由
如果你是刚开始学习Linux的小白同学,相信你已经体会到与学习一门编程语言相比,学习Linux系统的门槛相对较高,你会遇到一些困惑,比如:
-
为什么要学习Linux,学成之后我们可以在哪些领域大显身手?
-
从Linux诞生以来,已经出现了上百种各具特色的发行版本,我们该怎么选择?
-
复杂的概念、指令一大堆,看起来就让人头大…
那么这本书可就太适合你了,它算得上打开Linux学习之门的钥匙!
-
如果你是刚刚开始学习Linux的小白,那么本书可作为入门宝典,带你快速入门Linux。
-
如果你希望获得更多超值内容,那么本书为你提供150段教学视频+电子教案+学习资料,更有价值50元的5节精品线上课程。
-
如果你希望获得更多实战经验,那么本书提供了47个知识拓展和220个动手练习。
速学 Linux,真的可以试试这本书!
本书内容简介
PART1:为什么学习Linux系统
最直接的原因就是Linux应用十分广泛,在实际工作的诸多方面都需要用到它。在大中小型企业的服务器应用领域,Linxu系统的市场份额越来越重,也从侧面说明Linux的出色表现和广泛应用。
Linux是一款基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU,且免费使用和自由传播的操作系统。用户可以通过网络或其他途径免费获得,并可以任意修改其源代码,这也是它区别于其他操作系统的地方。
Linux是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU GPL(GNU通用公共许可证),任何个人或机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。因此,Linux也成为开源软件的代名词。
PART2:Linux系统的应用领域
目前各种Linux发行版应用于从嵌入式设备到超级计算机等很多场合,尤其在IT服务器领域,Linux已经确立了主导地位,如图所示.
服务器一般采用LAMP(Linux+Apache+MySQL+PHP)或LNMP(Linux+Nginx+MySQL+PHP)组合。
1.Linux 在服务器的应用
随着开源软件在世界范围内影响力日益增强,Linux服务器操作系统在整个服务器操作系统市场中占据了越来越多的市场份额ꎬ已经形成了大规模市场应用的局面。
随着Linux在服务器领域的广泛应用,已经涉及电信、金融、政府、教育、交通、农业和石油等领域ꎮ同时各大硬件厂商也相继支持Linux操作系统,表明了Linux在服务器市场前景是光明的,未来一定能够冲击更大的服务器市场。
2.嵌入式 Linux 的应用
由于Linux系统开放源代码、功能强大、稳定性强且具有极大的伸缩性,再加上其广泛支持大量的微处理器体系结构、硬件设备、图形支持和通信协议ꎬ因此也广泛应用在嵌入式领域。
目前Linux已经广泛应用于手机、平板计算机、路由器、电视和电子游戏机等。在移动设备上广泛使用的Android操作系统就是创建在Linux内核之上的。此外,思科公司在网络防火墙和路由器中使用的是定制的Linux,阿里云也开发了一套基于Linux的操作系统YunOS。
3.桌面 Linux 的应用
近几年,Linux桌面操作系统在国内市场发展非常迅猛。如中标麒麟Linux、红旗Linux和深度Linux等系统软件的厂商都推出了Linux桌面操作系统,而且目前已经在企业、OEM(原始设备制造商)和政府等领域广泛应用。
PART3:Linux的版本选择
Linux系统的发行版本很多,即便是其忠实用户也没有太多时间和精力一一尝试。对于初学者来说,在学习Linux之前需要一个明确的方向,从众多版本中选择一款适合自己需求的是非常重要的ꎮ这里将带大家了解各个Linux版本之间的特点。
作者简介
Linux领域头部号主,线上超50万粉丝;曾任职于世界500强外企;研究生国家奖学金获得者;6年公众号写作经历,500余篇原创文章,部分文章阅读量超100万次;21年进军短视频领域,产出300余条短视频原创文案,部分单视频播放量超350万次
相关文章:

【Linux 服务器运维】定时任务 crontab 详解 | 文末送书
文章目录 前言一、crontab 介绍1.1 什么是 crontab1.2 crontab 命令工作流程1.3 Linux 定时任务分类 二、crontab 用法详解2.1 crond 服务安装2.2 crontab 文件内容分析2.3 crontab 命令用法2.3.1 查看定时任务列表2.3.2 编辑/创建定时任务2.3.3 删除定时任务2.3.4 其他 cronta…...

Vue系列之入门篇
前言: 目录 一,关于Vue的简介 1.什么是Vue? 2.使用Vue框架的好处? 3. 库和框架的区别: 4. MVVM的介绍 5.Vue的入门案例 二,Vue的生命周期 一,关于Vue的简介 1.什么是Vue? Vu…...

【遥感卫星数据】Landsat数据Collection1和Collection2区别
文章目录 1 总体介绍2 Landsat Collection 13 Landsat Collection 23.1 Collection 2 Level-1产品3.2 Collection 2 Level-2产品参考资料1 总体介绍 Landsat卫星的产品数据每经过几年就会有一次改进,主要改进几何校正精度和辐射纠正精度。而且NASA/USGS每次更新产品都会把存档…...

socket() failed (24: Too many open files) while connecting to upstream, client
一、这个错误通常是因为文件句柄数目超过系统限制导致的。要解决这个问题,您可以尝试以下几个步骤: 调整系统文件句柄限制:您可以通过修改/etc/security/limits.conf文件中的nofile参数来增加系统文件句柄的最大数目。将nofile的值增加到更高…...

认识单链表
-之前我们学过储存数据的一种表——顺序表,那么为什么还有链表呢 首先我们回顾一下顺序表 顺序表是物理地址连续的一段内存空间(数组),我们通过动态内存开辟的, 那么: 顺序表也有自己的一些优点,…...
pytest(二)框架实现一些前后置(固件,夹具)的处理,常用三种
为什么需要这些功能? 比如:web自动化执行用例前是否需要打开浏览器?执行用例后需要关闭浏览器? 示例代码: import pytest class Testcase:#这是每条测试用例执行前的初始化函数def setup(self):print("\n我是每…...

【计算机网络 - 自顶向下方法】计算机网络和因特网
目录 1. What is the Internet? 1.1 因特网的具体构成 1.2 因特网的功能 2. Network core 2.1 基本介绍 2.2 分组交换 2.2.1 序列化时延 2.2.2 排队延迟和丢包 2.2.3 分组交换的优缺点 2.3 电路交换 2.3.1 基本概念 2.3.2 电路交换网络中的复用 2.3.3 电路交换文件…...

【Java 基础篇】Java Condition 接口详解
Java 提供了一种更灵活和高级的线程协作机制,通过 Condition 接口的使用,你可以更精细地控制线程的等待和唤醒,实现更复杂的线程同步和通信。本文将详细介绍 Java 的 Condition 接口,包括它的基本概念、常见用法以及注意事项。 什…...

.360勒索病毒和.halo勒索病毒数据恢复|金蝶、用友、ERP等数据恢复
导言: 随着数字化时代的持续发展,网络安全威胁也变得前所未有地复杂和难以应对。在这个充满挑战的网络环境中,勒索病毒已经成为了一种极为危险和破坏性的威胁。最近引起广泛关注的是.360勒索病毒,一种可怕的恶意软件,…...

计算机毕业设计 基于SpringBoot餐厅点餐系统的设计与实现 Java实战项目 附源码+文档+视频讲解
博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…...

天空飞鸟 数据集
今天要介绍的数据集则是天空飞鸟 数据集: 数据集名称:天空飞鸟 数据集 数据集格式:Pascal VOC格式(不包含分割路径的txt文件和yolo格式的txt文件,仅仅包含jpg图片和对应的xml) 图片数量(jpg文件个数):以文件包含图片…...
集成学习-树模型
可以分为三部分学习树模型: 基本树(包括 ID3、C4.5、CART).Random Forest、Adaboost、GBDTXgboost 和 LightGBM。基本树 选择特征的准则 ID3:信息增益max C4.5:信息增益比max CART:基尼指数min 优缺点 ID3 核心思想是奥卡姆剃刀(决策树小优于大) 缺点: ID3 没…...

代码随想录算法训练营第一天(C)| 704. 二分查找 27. 移除元素
文章目录 前言一、704. 二分查找二、27. 移除元素三、34. 在排序数组中查找元素的第一个和最后一个位置总结 前言 这次是C; 代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素_愚者__的博客-CSDN博客 (java) 一、704. 二分查找 的优…...

重构优化第三方查询接口返回大数据量的分页问题
# 问题描述 用户线上查询其上网流量详单数据加载慢,且有时候数据没有响应全~ 1、经排除是调用第三方数据量达10w条响应会超时,数据没正常返回 2、现有线上缓存分页也是加载慢数据不能正常展示 3、第三方接口返回类似报文jsonj&#…...

Cento7 Docker安装Zabbix,定制自定义模板
1.先安装docker环境 yum -y install yum-utils device-mapper-persistent-data lvm2#导入docker安装库 yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo #按指定版本安装好docker yum install docker-ce-20.10.5 docker-ce-cli-20…...

网络防御--防火墙
拓扑 Cloud 1 作为电脑与ENSP的桥梁 防火墙配置 登录防火墙 配置IP地址及安全区域 添加地址对象 配置策略 1、内网可以访问服务器 结果 2、内网可以访问公网 结果 配置NAT策略 结果...

淘宝商品详情数据采集
淘宝商品详情数据采集的方法如下: 确定采集目标:明确要采集的商品信息,如商品标题、价格、销量、评论、图片等。选择采集工具:可以选择Scrapy框架、Java的WebMagic框架等。编写爬虫程序:进入目标文件夹,输…...
mac安装virtualenv和virtualenvwrapper
1.安装(推荐用sudo安装,直接pip3安装会有坑) sudo pip3 install virtualenv sudo pip3 install virtualenvwrapper 2.查看python virtualenvwrapper.sh 位置 # 查看python默认解释器 which python3 # 查看virtualenvwrapper.sh which virtualenvwrapper.sh 3.打…...

利用PCA科学确定各个指标的权重系数
背景参考: 1、提取主成分 对样本进行PCA分析,查看不同变量贡献率,确定主要的指标。我们可以通过下列代码获取需要的所有数据: import numpy as np from sklearn.decomposition import PCA# 创建一个数据 np.random.seed(0) data = np.random.random((100,5)) y = np.ra…...
代码随想录 -- day55 --392.判断子序列 、115.不同的子序列
392.判断子序列 dp[i][j] 表示以下标i-1为结尾的字符串s,和以下标j-1为结尾的字符串t,相同子序列的长度为dp[i][j]。 if (s[i - 1] t[j - 1]) t中找到了一个字符在s中也出现了if (s[i - 1] ! t[j - 1]) 相当于t要删除元素,继续匹配 if (s…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...

如何更改默认 Crontab 编辑器 ?
在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...
MySQL 8.0 事务全面讲解
以下是一个结合两次回答的 MySQL 8.0 事务全面讲解,涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容,并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念(ACID) 事务是…...

(一)单例模式
一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...

边缘计算网关提升水产养殖尾水处理的远程运维效率
一、项目背景 随着水产养殖行业的快速发展,养殖尾水的处理成为了一个亟待解决的环保问题。传统的尾水处理方式不仅效率低下,而且难以实现精准监控和管理。为了提升尾水处理的效果和效率,同时降低人力成本,某大型水产养殖企业决定…...

结构化文件管理实战:实现目录自动创建与归类
手动操作容易因疲劳或疏忽导致命名错误、路径混乱等问题,进而引发后续程序异常。使用工具进行标准化操作,能有效降低出错概率。 需要快速整理大量文件的技术用户而言,这款工具提供了一种轻便高效的解决方案。程序体积仅有 156KB,…...