当前位置: 首页 > news >正文

RHCE——系统的延迟任务及定时任务

延迟任务的发起
在系统中我们可以使用 at 命令来发起延迟任务
at 命令执行是调用的是 atd 服务,即使系统最小化安装 atd 也会被安装到系统中
at 任务信息存放在系统中 /var/spool/at 目录中
at 任务的日志文件被存放到 /var/log/cron
at 任务执行时如果遇到系统处于关闭状态,那么在开启时 atd 任务会检测未执行的任务并且立即执行
延迟任务发起方法如下:
at 11:30
touch /mnt/file{1..5}
at 命令参数详解
at 命令执行格式为 at [ 参数 ] [ 时间 ]
at 命令常用参数
-m 当任务完成之后,即使没有标准输出,将给用户发送邮件
-l atq 的别名,可列出目前系统上面的所有该用户的 at 调度
-d atrm 的别名 , 可以取消一个在 at 调度中的工作
-v 使用较明显的时间格式,列出 at 调度中的任务列表
-c 可以列出后面接的该项工作的实际命令内容
-f 从文件中读取作作业
at 命令的时间表示方法
HH:MM 在今天的 HH 小时 MM 分钟执行,如果今天的这个时间点已经过了,则明天执行
HH:MM YYYY-MM-DD 强制规定在某年某月的某一天的特殊时刻进行该工作
now + 2 minutes 从现在开始几分钟 minutes, hours, days, or weeks
如何非交互的设定延迟任务
在生产环境中我们通常会用脚本来设定一个或多个延迟任务但是 at 任务的执行需要交互的进行,这样无法
满足脚本自动化运行,输入重定向可以解决交互问题:
vim at_job.sh
at now+1min 
rm -fr /mnt/file{1..5}

定时任务发起
在系统中我们可以使用 crontab 命令来发起用户级定时任务
在系统中 /etc/cronfilename 是系统级定时任务,只有 root 用户可以发起
定时任务执行是调用的是 crond 服务,即使系统最小化安装 crond 也会被安装到系统中
定时任务信息存放在系统中 /var/spool/cron 目录中,存放文件和发起人名称一致
定时任务的日志文件被存放到 /var/log/cron
定时任务执行时如果遇到系统处于关闭状态,那么在开启时 crond 任务会检测未执行的任务并且立
即执行
发起用户级周期行任务
周期任务发起方式
crontab 命令的执行格式为: crontab –u 用户 –e
crontab 命令参数如下
-u :用来设定某个用户的 crontab 服务此参数一般有 root 用户来运行。
file file 是命令文件的名字 , 表示将 file 做为 crontab 的任务列表文件并载入 crontab
-e :编辑某个用户的 crontab 文件内容。如果不指定用户,则表示编辑当前用户的 crontab 文件。
-l :显示某个用户的 crontab 文件内容,如果不指定用户,则表示显示当前用户的 crontab 文件内容。
-r :从 /var/spool/cron 目录中删除某个用户的 crontab 文件
-i :在删除用户的 crontab 文件时给确认提示。
crontab 在设定定时任务是会以 vi 命令打开临时文件在保存时会把内容同步到 /var/spool/cron
文件格式为:分 时 天 月 周 执行动作
11 11 * * * echo hello # 每天 11 11 分执行 echo hello 命令
发起系统级别的周期任务
/etc/cron.d
系统自定义周期任务
/etc/cron.daily
每天周期任务
/etc/cron.hourly
每小时周期任务
/etc/cron.monthly
每月周期任务
/etc/cron.weekly
每周周期任务
自定义周期任务设置方式
vim /etc/cron.d/job
分钟 小时 天 月 周 用户 动作
01 09-17 * * * root date
定时任务执行优化
定时任务在执行时首先会查看执行者是否在名单中
系统中默认只存在黑名单 /etc/cron.deny ,写入此文件中的用户会被禁止使用定时任务
在系统中可以手动建立白名单 /etc/cron.allow, 当此文件出现黑名单不会被检测
白名单出现只有 root 用户和白名单用户可以执行定时任务
如果系统中没有黑白名单那么只有 root 用户可以执行任务
黑白名单为用户列表,每个用户一行
黑白名单只针对用户级定时任务进行限制

 

http://www.lryc.cn/news/487979.html

相关文章:

  • ForEach刷新UI机制
  • 机器学习(贝叶斯算法,决策树)
  • 实验十三 生态安全评价
  • 二级等保要求及设备有哪些?
  • 无人机的动力系统节能——CKESC电调小课堂12
  • 人机打怪小游戏(非常人机)
  • SpringBoot 集成 Sharding-JDBC(一):数据分片
  • django-ninja 实现cors跨域请求
  • 【论文阅读】InstructPix2Pix: Learning to Follow Image Editing Instructions
  • 常用在汽车PKE无钥匙进入系统的高度集成SOC芯片:CSM2433
  • 【第四课】rust声明式宏理解与实战
  • 渗透测试--Linux下的文件传输方法
  • 浅议Flink中的通讯工具: Akka
  • 基于YOLOv8深度学习的独居老人情感状态监护系统(PyQt5界面+数据集+训练代码)
  • Qt添加外部库:静态库和动态库,批量添加头文件
  • Unity类银河战士恶魔城学习总结(P132 Merge skill tree with skill Manager 把技能树和冲刺技能相组合)
  • Docker入门之Windows安装Docker初体验
  • DNS实验作业
  • CSS回顾-CSS选择器详解
  • FFMPEG录像推流时遇到的问题
  • 【STM32+K210项目】基于K210智能人脸识别+车牌识别系统(完整工程资料源码)
  • Unity脚本基础规则
  • 基于AIRTEST和Jmeter、Postman的自动化测试框架
  • 使用 Azure OpenAI 服务对数据进行联合 SharePoint 搜索
  • JavaScript学习笔记 1】初识JS
  • Linux-Samba
  • 【Java Web】JSON 以及 JSON 转换
  • Qt 元对象系统
  • 鸿蒙实战:使用隐式Want启动Ability
  • go-zero(二) api语法和goctl应用