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

Linux——1_系统的延迟任务及定时任务

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

在系统中我们的维护工作大多数时在服务器行对闲置时进行

我们需要用延迟任务来解决自动进行的一次性的维护

延迟任务时一次性的,不会重复执行

当延迟任务产生输出后,这些输出会以邮件的形式发送给延迟任务发起者

在RHEL9中默认系统中的所有普通用户都可以发起延时任务

延迟任务

发起方法:

at命令

参数

at 命令执行格式为 at[参数][时间]
at 命令常用参数
-m 当任务完成之后,即使没有标准输出,将给用户发送邮件
-l atq的别名,可列出目前系统上面的所有该用户的at调度
-d atrm的别名,可以取消一个在at调度中的工作
-v 使用较明显的时间格式,列出at调度中的任务列表
-c 可以列出后面接的该项工作的实际命令内容
-f 从文件中读取作作业

时间表示方法

HH:MM 在今天的HH小时MM分钟执行,如果今天的这个时间点已经过了,则明天执行
HH:MM YYYY-MM-DD 强制规定在某年某月的某一天的特殊时刻进行该工作
now +2 minutes 从现在开始几分钟minutes, hours, days, or weeks

如何非交互的设定延迟任务

延时任务的安全优化

at任务在执行时首先会查看执行者是否在名单中

系统中默认只存在黑名单/etc/at.deny,写入此文件中的用户会被禁止使用at任务

在系统中可以手动建立白名单/etc/at.allow,当此文件出现黑名单不会被检测

白名单出现只有root用户和白名单用户可以执行at任务

如果系统中没有黑白名单那么只有root用户可以执行任务

黑白名单为用户列表,每个用户一行

定时任务

介绍

和延迟任务类似,可以用crontab来解决自动进行的周期性的维护

定时任务类似手机闹钟,会重复执行

当定时任务产生输出后,这些输出会以邮件的形式发送给延迟任务发起者

在RHEL9中默认系统中的所有普通用户都可以发起定时任务

发起

在系统中我们可以使用crontab命令来发起用户级定时任务

在系统中/etc/cronfilename 是系统级定时任务,只有root用户可以发起

定时任务执行是调用的是crond服务,即使系统最小化安装crond也会被安装到系统中

定时任务信息存放在系统中/var/spool/cron目录中,存放文件和发起人名称一致

定时任务的日志文件被存放到/var/log/cron中

定时任务执行时如果遇到系统处于关闭状态,那么在开启时crond任务会检测未执行的任务并且立即执行

crontab -u 用户 -e#参数
-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命令

时间表示

*每个* * * * *每分钟
1,51和51 1,5 * * * *1:10和5:01
1-51到5* 1-5 * * * *1点到5点的每分钟
*/5每隔5*/5 * * * *每隔5分钟

发起系统级别周期任务

系统级别crontab目录详解

/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/490799.html

相关文章:

  • C++ 矩阵旋转
  • Docker学习笔记整理
  • 计算机组成原理期末试题三(含答案)
  • django+boostrap实现注册
  • C++初阶——类和对象(下)
  • 趋势洞察|AI 能否带动裸金属 K8s 强势崛起?
  • idea初始化设置
  • LINUX系统编程之——环境变量
  • 健康老龄化:适合老年人的播客
  • 家庭智慧工程师:如何通过科技提升家居生活质量
  • Milvus概念
  • 为什么调用 setState 而不是直接改变 state
  • 【Python爬虫五十个小案例】爬取豆瓣电影Top250
  • cocos creator 3.8 物理碰撞器Collider+刚体RigidBody 8
  • Python爬取豆瓣电影全部分类数据并存入数据库
  • 算法模板1:排序+二分+高精度+前缀+差分
  • SpringBoot实现单文件上传
  • rust中解决DPI-1047: Cannot locate a 64-bit Oracle Client library问题
  • YOLOv11(Ultralytics)视频选定区域目标统计计数及跟踪
  • 24小时自动监控,自动录制直播蓝光视频!支持抖音等热门直播软件
  • InfiniBand(IB)快速上手
  • D74【 python 接口自动化学习】- python 基础之HTTP
  • 移动光猫[HS8545M5-10]获取超密
  • 原生JS和CSS,HTML实现开屏弹窗
  • vue--制作购物车
  • 深度测评腾讯云 HAI 智算服务:高性能 AI 计算的新标杆
  • MQ重复消费与消息顺序
  • 应用商店双弹窗“APP在向用户申请权限时未同步告知用户申请此权限的理由”驳回uni-app应用上线的解决方法
  • 第 32 章 - Go语言 部署与运维
  • 噪杂环境离线语音通断器效果展示