Linux任务调度全攻略

Linux下的任务调度分为两类,系统任务调度和用户任务调度

系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。/etc/crontab文件包括下面几行:

用户任务调度:用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用 crontab 工具来定制自己的计划任务。所有用户定义的crontab 文件都被保存在 /var/spool/cron目录中。其文件名与用户名一致。下面是几个特殊的文件介绍:

  • 文件:/etc/cron.deny                该文件中所列用户不允许使用crontab命令

  • 文件:/etc/cron.allow                该文件中所列用户允许使用crontab命令

  • 文件:/var/spool/cron/              所有用户crontab文件存放的目录,以用户名命名

2、crontab文件

        用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:

minute hour day month week command

其中:

  • minute: 表示分钟,可以是从0到59之间的任何整数。

  • hour:表示小时,可以是从0到23之间的任何整数。

  • day:表示日期,可以是从1到31之间的任何整数。

  • month:表示月份,可以是从1到12之间的任何整数。

  • week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

  • command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

在以上各个字段中,还可以使用以下特殊字符:

  • 星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。

  • 逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”

  • 中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”

  • 正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

二、crond服务

安装crontab:

yum install crontabs

服务操作说明:

systemctl start crond  #启动服务
systemctl stop crond   #关闭服务
systemctl restart crond #重启服务
systemctl reload crond #重新载入配置

查看crontab服务状态

systemctl status status

手动启动crontab服务:

systemctl start crond

查看crontab服务是否已设置为开机启动,执行命令:

ntsysv

加入开机自动启动:

systemctl enable crond

创建一个新的crontab文件

在考虑向cron进程提交一个crontab文件之前,首先要做的一件事情就是设置环境变量EDITOR。cron进程根据它来确定使用哪个编辑器编辑crontab文件。9 9 %的UNIX和LINUX用户都使用vi,如果你也是这样,那么你就编辑profile文件,在其中加入这样一行:

EDITOR=vi; export EDITOR

然后保存并退出。不妨创建一个名为<user> cron的文件,其中<user>是用户名,例如, davecron。在该文件中加入如下的内容。

# (put your own initials here)echo the date to the console every# 15minutes between 6pm and 6am0,15,30,45 18-06 * * * /bin/echo 'date' > /dev/console

保存并退出。确信前面5个域用空格分隔。

        在上面的例子中,系统将每隔1 5分钟向控制台输出一次当前时间。如果系统崩溃或挂起,从最后所显示的时间就可以一眼看出系统是什么时间停止工作的。在有些系统中,用tty1来表示控制台,可以根据实际情况对上面的例子进行相应的修改。为了提交你刚刚创建的crontab文件,可以把这个新创建的文件作为cron命令的参数:

$ crontab davecron

现在该文件已经提交给cron进程,它将每隔1 5分钟运行一次。同时,新创建文件的一个副本已经被放在/var/spool/cron目录中,文件名就是用户名(即dave)。

2.列出crontab文件

为了列出crontab文件,可以用:

$ crontab -l0,15,30,45,18-06 * * * /bin/echo `date` > dev/tty1

你将会看到和上面类似的内容。可以使用这种方法在$ H O M E目录中对crontab文件做一备份:

$ crontab -l > $HOME/mycron

这样,一旦不小心误删了crontab文件,可以用上一节所讲述的方法迅速恢复。

编辑crontab文件

如果希望添加、删除或编辑crontab文件中的条目,而E D I TO R环境变量又设置为v i,那么就可以用v i来编辑crontab文件,相应的命令为:

$ crontab -e

可以像使用v i编辑其他任何文件那样修改crontab文件并退出。如果修改了某些条目或添加了新的条目,那么在保存该文件时, c r o n会对其进行必要的完整性检查。如果其中的某个域出现了超出允许范围的值,它会提示你。我们在编辑crontab文件时,没准会加入新的条目。例如,加入下面的一条:

# DT:delete core files,at 3.30am on 1,7,14,21,26,26 days of each month30 3 1,7,14,21,26 * * /bin/find -name "core' -exec rm {} \;

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

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

相关文章

回溯算法通关秘籍:像打怪一样刷题

&#x1f680; 回溯算法通关秘籍&#xff1a;像打怪一样刷题&#xff01; 各位同学&#xff0c;今天咱们聊聊 回溯算法&#xff08;Backtracking&#xff09;。它听起来玄乎&#xff0c;但其实就是 “暴力搜索 剪枝” 的优雅版。 打个比方&#xff1a;回溯就是在迷宫里探险&am…

嵌入式Linux常用命令

&#x1f4df; 核心文件与目录操作pwd-> 功能: 打印当前工作目录的绝对路径。-> 示例: pwd -> 输出 /home/user/projectls [选项] [目录]-> 功能: 列出目录内容。-> 常用选项:-l: 长格式显示&#xff08;详细信息&#xff09;-a: 显示所有文件&#xff08;包括隐…

深入理解 Linux 内核进程管理

在 Linux 系统中&#xff0c;进程是资源分配和调度的基本单位&#xff0c;内核对进程的高效管理直接决定了系统的性能与稳定性。本文将从进程描述符的结构入手&#xff0c;逐步剖析进程的创建、线程实现与进程终结的完整生命周期&#xff0c;带您深入理解 Linux 内核的进程管理…

ACP(三):让大模型能够回答私域知识问题

让大模型能够回答私域知识问题 未经过特定训练答疑机器人&#xff0c;是无法准确回答“我们公司项目管理用什么工具”这类内部问题。根本原因在于&#xff0c;大模型的知识来源于其训练数据&#xff0c;这些数据通常是公开的互联网信息&#xff0c;不包含任何特定公司的内部文档…

使用Xterminal连接Linux服务器

使用Xterminal连接Linux服务器&#xff08;VMware虚拟机&#xff09;的步骤如下&#xff0c;前提是虚拟机已获取IP&#xff08;如 192.168.31.105&#xff09;且网络互通&#xff1a; 一、准备工作&#xff08;服务器端确认&#xff09;确保SSH服务已安装并启动 Linux服务器需要…

ChatBot、Copilot、Agent啥区别

以下内容为AI生成ChatBot&#xff08;聊天机器人&#xff09;、Copilot&#xff08;副驾驶&#xff09;和Agent&#xff08;智能体/代理&#xff09;是AI应用中常见的三种形态&#xff0c;它们在人机交互、自动化程度和任务处理能力上有着显著的区别。特征维度ChatBot (聊天机器…

2025 年大语言模型架构演进:DeepSeek V3、OLMo 2、Gemma 3 与 Mistral 3.1 核心技术剖析

编者按&#xff1a; 在 Transformer 架构诞生八年之际&#xff0c;我们是否真的见证了根本性的突破&#xff0c;还是只是在原有设计上不断打磨&#xff1f;今天我们为大家带来的这篇文章&#xff0c;作者的核心观点是&#xff1a;尽管大语言模型在技术细节上持续优化&#xff0…

基于Matlab GUI的心电信号QRS波群检测与心率分析系统

心电信号&#xff08;Electrocardiogram, ECG&#xff09;是临床诊断心脏疾病的重要依据&#xff0c;其中 QRS 波群的准确检测对于心率分析、心律失常诊断及自动化心电分析系统具有核心意义。本文设计并实现了一套基于 MATLAB GUI 的心电信号处理与分析系统&#xff0c;集成了数…

1台SolidWorks服务器能带8-10人并发使用

在工业设计和机械工程领域&#xff0c;SolidWorks作为主流的三维CAD软件&#xff0c;其服务器部署方案直接影响企业协同效率。通过云飞云共享云桌面技术实现多人并发使用SolidWorks时&#xff0c;实际承载量取决于硬件配置、网络环境、软件优化等多维度因素的综合作用。根据专业…

String、StringBuilder和StringBuffer的区别

目录一. String&#xff1a;不可变的字符串二.StringBuilder&#xff1a;可变字符串三.StringBuffer&#xff1a;线程安全的可变字符串四.总结在 Java 开发中&#xff0c;字符串处理是日常编码中最频繁的操作之一。String、StringBuilder 和 StringBuffer 这三个类虽然都用于操…

Power Automate List Rows使用Fetchxml查询的一个bug

看一段FetchXML, 这段查询在XRMtoolbox中的fech test工具里执行完全ok<fetch version"1.0" mapping"logical" distinct"true" no-lock"false"> <entity name"new_projectchange"> <link-entity name"sy…

Letta(MemGPT)有状态AI代理的开源框架

1. 项目概述Letta&#xff08;前身为 MemGPT&#xff09;是一个用于构建有状态AI代理的开源框架&#xff0c;专注于提供长期记忆和高级推理能力。该项目是MemGPT研究论文的实现&#xff0c;引入了"LLM操作系统"的概念用于内存管理。核心特点有状态代理&#xff1a;具…

除了ollama还有哪些模型部署方式?多样化模型部署方式

在人工智能的浪潮中&#xff0c;模型部署是释放其强大能力的关键一环。大家都知道ollama&#xff0c;它在模型部署领域有一定知名度&#xff0c;操作相对简单&#xff0c;受到不少人的青睐。但其实&#xff0c;模型部署的世界丰富多样&#xff0c;今天要给大家介绍一款工具&…

Linux系统学习之进阶命令汇总

文章目录一、系统信息1.1 查看系统信息&#xff1a;uname1.2 查看主机名&#xff1a;hostname1.3 查看cpu信息&#xff1a;1.4 当前已加载的内核模块: lsmod1.5 查看磁盘空间使用情况: df1.6 管理磁盘分区: fdisk1.7 查看目录或文件磁盘使用情况: du1.8 查看I/O使用情况: iosta…

算法面试(2)------休眠函数sleep_for和sleep_until

操作系统&#xff1a;ubuntu22.04 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 这两个函数都定义在 头文件中&#xff0c;属于 std::this_thread 命名空间&#xff0c;用于让当前线程暂停执行一段时间。函数功能sleep_for(rel_time)让当前线程休眠一段相对时间&…

贪心算法应用:5G网络切片问题详解

Java中的贪心算法应用&#xff1a;5G网络切片问题详解 1. 5G网络切片问题概述 5G网络切片是将物理网络划分为多个虚拟网络的技术&#xff0c;每个切片可以满足不同业务需求&#xff08;如低延迟、高带宽等&#xff09;。网络切片资源分配问题可以抽象为一个典型的优化问题&…

Android WorkManager的概念和使用

1. WorkManager基础与核心概念 1.1 WorkManager概述 WorkManager是Android Jetpack架构组件库的核心成员&#xff0c;专为管理可靠的后台任务而设计。它提供了一套统一的API&#xff0c;用于调度需保障执行的延迟型异步任务&#xff08;如数据同步、日志上传&#xff09;&…

容器使用卷

1.创建一个卷并让容器挂载该卷1.创建一个卷[roothost1 ~]# docker volume create test-vol test-vol2.列出本地 Docker 主机上的卷[roothost1 ~]# docker volume ls DRIVER VOLUME NAME local test-vol3.查看该卷的详细信息[roothost1 ~]# docker volume inspect test-v…

高数基础知识(下)②

文章目录七、微分方程7.3 高阶线性微分方程7.3.1 线性微分方程的解的结构7.3.2 常系数齐次线性微分方程7.3.3 常系数非齐次线性微分方程八、多元函数微分学8.1 偏导数8.2 全微分8.3 基本定理8.4 复合函数微分法8.5 隐函数微分法8.6 多元函数的极值8.6.1 无条件极值8.6.2 条件极…

从0°到180°,STM32玩转MG996R舵机

1.MG996R舵机的性能参数参数数值产品型号MG995/MG996R产品重量55 g工作扭矩13 kgcm反应速度53-62 R/M使用温度-30C ~ 55C死区设置4 微秒插头类型JR、FUTABA 通用转动角度180&#xff08;左90&#xff0c;右90&#xff09;舵机类型数码舵机使用电压3.0 - 7.2 V工作电流100 mA结构…