15.3.2 【Linux】系统的配置文件:/etc/crontab,/etc/cron.d/*

news2024/12/25 9:24:48

这个“ crontab -e ”是针对使用者的 cron 来设计的,如果是“系统的例行性任务”时, 该怎么办呢?是否还是需要以 crontab -e 来管理你的例行性工作调度呢?当然不需要,你只要编辑/etc/crontab 这个文件就可以。有一点需要特别注意,那就是 crontab -e 这个 crontab 其实是 /usr/bin/crontab 这个可执行文件,但是 /etc/crontab 可是一个“纯文本文件”,你可以root 的身份编辑一下这个文件。

基本上, cron 这个服务的最低侦测限制是“分钟”,所以“ cron 会每分钟去读取一次/etc/crontab 与 /var/spool/cron 里面的数据内容 ”,因此,只要你编辑完 /etc/crontab 这个文件,并且将他储存之后,那么 cron 的设置就自动的会来执行了!

在 Linux 下面的 crontab 会自动的帮我们每分钟重新读取一次 /etc/crontab 的例行工作事项,但是某些原因或者是其他的 Unix 系统中,由于 crontab 是读到内存当中的,所以在你修改完 /etc/crontab 之后,可能并不会马上执行, 这个时候请重新启动 crond 这个服务:

systemctl restart crond

这个文件与将刚刚我们下达 crontab -e的内容几乎完全一模一样!只是有几个地方不太相同:

MAILTO=root:

这个项目是说,当 /etc/crontab 这个文件中的例行性工作的指令发生错误时,或者是该工作的执行结果有 STDOUT/STDERR 时,会将错误讯息或者是屏幕显示的讯息传给谁?默不过, 由于 root 并无法在用户端中以 POP3 之类的软件收信,因此,通常都将这个 e-mail 改成自己的帐号,好让我随时了解系统的状况!例如: MAILTO=dmtsai@my.host.name认当然是由系统直接寄发一封 mail 给 root。

PATH=....:

“分 时 日 月 周 身份 指令”七个字段的设置

这个 /etc/crontab 里面可以设置的基本语法与 crontab -e 不太相同!前面同样是分、时、日、月、周五个字段, 但是在五个字段后面接的并不是指令,而是一个新的字段,那就是“执行后面那串指令的身份”为何!这与使用者的 crontab -e 不相同。由于使用者自己的 crontab并不需要指定身份,但 /etc/crontab 里面当然要指定身份啦!以上表的内容来说,系统默认的例行性工作是以 root 的身份来进行的。

crond 服务读取配置文件的位置

一般来说,crond 默认有三个地方会有执行脚本配置文件,他们分别是:

/etc/crontab

/etc/cron.d/*

/var/spool/cron/*

这三个地方中,跟系统的运行比较有关系的两个配置文件是放在 /etc/crontab 文件内以及/etc/cron.d/* 目录内的文件, 另外一个是跟用户自己的工作比较有关的配置文件,就是放在/var/spool/cron/ 里面的文件群。 现在我们已经知道了 /var/spool/cron 以及 /etc/crontab 的内容,那现在来瞧瞧 /etc/cron.d 里面的东西吧!

如果你想要自己开发新的软件,该软件要拥有自己的 crontab 定时指令时,就可以将“分、时、日、月、周、身份、指令”的配置文件放置到 /etc/cron.d/ 目录下! 在此目录下的文件是“crontab 的配置文件脚本”。

个人化的行为使用“ crontab -e ”:如果你是依据个人需求来创建的例行工作调度,建议直接使用 crontab -e 来创建你的工作调度较佳, 这样也能保障你的指令行为不会被大家看到 。

系统维护管理使用“ vim /etc/crontab ”:如果你这个例行工作调度是系统的重要工作,为了让自己管理方便,同时容易追踪,建议直接写入 /etc/crontab 较佳。

自己开发软件使用“ vim /etc/cron.d/newfile ”:如果你是想要自己开发软件,那当然最好就是使用全新的配置文件,并且放置于 /etc/cron.d/ 目录内即可。

固定每小时、每日、每周、每天执行的特别工作:如果与系统维护有关,还是建议放置到 /etc/crontab 中来集中管理较好。 如果想要偷懒,或者是一定要再某个周期内进行的任务,也可以放置到上面谈到的几个目录中,直接写入指令即可。

15.3.3 一些注意事项

有的时候,我们以系统的 cron 来进行例行性工作的创建时,要注意一些使用方面的特性。 举例来说,如果我们有四个工作都是五分钟要进行一次的,那么是否这四个动作全部都在同一个时间点进行? 如果同时进行,该四个动作又很耗系统资源,如此一来,每五分钟的某个时刻不是会让系统忙得要死?所以要注意:

资源分配不均的问题

当大量使用 crontab 的时候,总是会有问题发生的,最严重的问题就是“系统资源分配不均”的问题,包括:

流量

区域内其他 PC 的流量侦测

CPU 使用率

RAM 使用率

线上人数实时侦测

如果每个流程都在同一个时间启动的话,那么在某个时段时,我的系统会变的相当的繁忙,所以,这个时候就必须要分别设置,我可以这样做:

注意:

取消不要的输出项目,安全的检验,周与日月不可同时并存。

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

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

相关文章

防网络钓鱼身份验证是预防违规的关键

全球企业身份验证状况调查结果发现,超过一半的员工依赖不安全的身份验证方法。 Yubico 记录显示,澳大利亚 65% 的员工和新西兰 63% 的员工仍然依赖用户名和密码作为主要身份验证手段,超过了 59% 的全球平均水平。 尽管广泛的宣传活动和企业…

项目实战 — 消息队列(7){虚拟主机设计(1)}

目录 一、什么是虚拟主机 二、编写虚拟主机代码 🍅 1、准备工作 🍅 2、实现exchange相关操作 🎄实现创建交换机exchangeDeclare 🎄 实现 删除交换机exchangeDelete 🍅 3、实现queue相关操作 🎄实现…

【第二阶段】匿名函数隐式返回函数参数

1.匿名函数简单举例 fun main() {//第一种写法,count()获取字符长度val info"kotlin".count()println(info)//第二种写法,使用匿名函数val len"kotlin".count(){//it代表字符串中 k o t l i n 的字符itl}println(len) }执行结果 2.隐式返回 …

【LeetCode】236. 二叉树的最近公共祖先、 JZ36 二叉搜索树与双向链表

作者:小卢 专栏:《Leetcode》 喜欢的话:世间因为少年的挺身而出,而更加瑰丽。 ——《人民日报》 236. 二叉树的最近公共祖先 236. 二叉树的最近公共祖先 题目描述: 给定一个二叉树…

【人工智能前沿弄潮】——生成式AI系列:Diffusers学习(1)了解Pipeline 、模型和scheduler

Diffusers旨在成为一个用户友好且灵活的工具箱,用于构建针对您的用例量身定制的扩散系统。工具箱的核心是模型和scheduler。虽然DiffusionPipeline为了方便起见将这些组件捆绑在一起,但您也可以拆分管道并单独使用模型和scheduler来创建新的扩散系统。 …

MySQL_数据类型

数值类型 类型有符号(SIGNED)取值范围无符号(UNSIGNED)取值范围大小描述TINYINT(-128,127)(0,255)1byte小整数值SMALLINT(-32768,32767)(0,65535)2bytes大整数值INT/INTEGER(-2147483648,2147483647)(0,429…

Redis_持久化(AOF、RDB)

6. Redis AOF 6.1 简介 目前,redis的持久化主要应用AOF(Append Only File)和RDF两大机制,AOF以日志的形式来记录每个写操作(增量保存),将redis执行过的所有指令全部安全记录下来(读…

将本地项目上传至gitee的详细步骤

将本地项目上传至gitee的详细步骤 1.在gitee上创建以自己项目名称命名的空项目2.进入想上传的项目的文件夹,然后右键点击3. 初始化本地环境,把该项目变成可被git管理的仓库4.添加该项目下的所有文件5.使用如下命令将文件添加到仓库中去6.将本地代码库与远…

【Node.js】低代码平台源码

一、低代码简介 低代码管理系统是一种通过可视化界面和简化的开发工具,使非专业开发人员能够快速构建和管理应用程序的系统。它提供了一套预先定义的组件和模块,使用户可以通过拖放操作来设计应用程序的界面和逻辑。低代码管理系统还提供了自动化的工作…

IDEA每次启动indexing解决办法

每次启动indexing很浪费时间。 解决办法 setting中搜索index 设置如下: 这样设置以后,启动速度明显快多了。 参考 https://blog.csdn.net/qq_45162113/article/details/121128721

【云原生】Docker 详解(二):Docker 架构及工作原理

Docker 详解(二):Docker 架构及工作原理 Docker 在运行时分为 Docker 引擎(服务端守护进程) 和 客户端工具,我们日常使用各种 docker 命令,其实就是在使用 客户端工具 与 Docker 引擎 进行交互。…

【LangChain概念】了解语言链️:第2部分

一、说明 在LangChain的帮助下创建LLM应用程序可以帮助我们轻松地链接所有内容。LangChain 是一个创新的框架,它正在彻底改变我们开发由语言模型驱动的应用程序的方式。通过结合先进的原则,LangChain正在重新定义通过传统API可以实现的极限。 在上一篇博…

统计学和机器学习之间的联系和区别

一、说明 老实说,我厌倦了几乎每天都在社交媒体和我的大学里听到这场辩论。通常,这伴随着一些模糊的陈述来解释这个问题。双方都为此感到内疚。我希望在本文结束时,您将对这些有些模糊的术语有更明智的立场。 二、论点 与普遍的看法相反&…

SpringCloud源码探析(九)- Sentinel概念及使用

1.概述 在微服务的依赖调用中,若被调用方出现故障,出于自我保护的目的,调用方会主动停止调用,并根据业务需要进行对应处理,这种方式叫做熔断,是微服务的一种保护方式。为了保证服务的高可用性,…

银河麒麟高级操作系统V10助力联通云建设打出组合拳

联通云基于“双引擎基座一云多芯”为不同行业场景提供可靠、高质量的应用上云服务。在核心代码进行了全面把控,定制多架构芯片应用适配模版,开发了计算、存储、网络、中间件等组件,全面适配自主化服务器和操作系统,提供云服务器、…

ffmpeg+intel核显实现硬解码

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、前言二、检查方法1.图形法2.nvidia-smi3.intel-gpu-tools 三、安装使用1.libva-dev2.libva-utils3.编译安装4.测试1.vainfo2.ffmpeg测试解码 总结 前言 之…

微信个人小程序申请 (AppID 和 AppSecret)

1. 登录微信公众平台 https://mp.weixin.qq.com/cgi-bin/loginpage?url%2Fcgi-bin%2Fhome%3Ft%3Dhome%2Findex%26lang%3Dzh_CN%26token%3D47421820 2. 右上角立即注册 3. 注册类型选择小程序 4. 账号信息 5. 邮箱激活 6. 小程序发布流程 7. 小程序信息 (前往填写) 8. 获取小程…

【JavaScript】jquery的导入方式有两种:本地导入和线上导入

前言 jQuery是一个用来代替JavaScript来快捷书写前端脚本语言的库,jQuery可以大大的简化复杂的js代码,使开发人员专注于实现页面的效果。 导入方式有两种 jQuery的导入方式有两种,一种是本地导入,一种是利用超链接导入。 方法…

AES加密(1):AES基础知识和计算过程

从产品代码的安全角度考虑,我们需要对代码、数据进行加密。加密的算法有很多种,基于速度考虑,我们一般使用对称加密算法,其中有一种常见的对称加密算法:AES(Advanced Encryption Standard)。在一些高端的MCU&#xff0…

智慧工地源码 智慧工地云平台源码 智慧工地APP源码

智慧工地的核心是数字化,它通过传感器、监控设备、智能终端等技术手段,实现对工地各个环节的实时数据采集和传输,如环境温度、湿度、噪音等数据信息,将数据汇集到云端进行处理和分析,生成各种报表、图表和预警信息&…