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

Linux:系统延迟任务及定时任务

一、延迟任务

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

我们需要用延迟任务来解决自动进行的一次性的维护 延迟任务时一次性的,不会重复执行

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

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

1、延迟任务的发起

在系统中我们可以使用at命令来发起延迟任务

at命令执行是调用的是atd服务,即使系统最小化安装atd也会被安装到系统中

at 任务信息存放在系统中/var/spool/at目录中

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

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

延迟任务发起方法如下:

(1)以mnt为例,开启查看延迟命令效果的监控

 

 (2)查看atd服务是否开启(atd是系统延迟任务的守护进程,若此服务关闭则系统延迟任务无法使用)

(3)建立延迟任务

 (4)at命令参数(at命令不可在脚本进行)

        at -l(在延迟任务执行之前可看):atq的别名,可列出目前系统上面的所有该用户的at调度

         at -c +延迟进程:可以列出后面接的该项工作的实际命令内容

 

         at -r:删除未执行的延迟任务

 其他at命令参数:

-m 当任务完成之后,即使没有标准输出,将给用户发送邮件

-d atrm的别名,可以取消一个在at调度中的工作

-v 使用较明显的时间格式,列出at调度中的任务列表

-V 显示at的版本

-f 从文件中读取作作业

(5)在脚本实现延迟任务(非交互式)

 2、at命令的时间表示方法

1、HH:MM 在今天的HH小时MM分钟执行,如果今天的这个时间点已经过了,则明天执行

2、HH:MM YYYY-MM-DD 强制规定在某年某月的某一天的特殊时刻进行该工作

2、now + 2 minutes 从现在开始几分钟minutes, hours, days, or weeks

3、 延迟任务的安全优化

在系统中默认所以用户皆可以实行at命令

(1)黑名单文件:/etc/at.deny(被录入进去的用户无法使用at命令)指定用户无法执行at命令

 timinglee用户被拒绝访问

 (2)用户白名单(该文件不在系统中需自己创建)

若黑名单、白名单都有系统的用户,则白名单生效

 二、定时任务

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

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

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

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

1、定时任务的发起

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

在系统中/etc/cronfilename 是系统级定时任务,只有root用户可以发起 定时任务执行是调用的是crond服务,即使系统最小化安装crond也会被安装到系统中

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

定时任务的日志文件被存放到/var/log/cron中 定时任务执行时如果遇到系统处于关闭状态,那么在开启时crond任务会检测未执行的任务并且立即执行

2、定时任务的使用

(1)开启crond服务(定时任务的守护进程)(发起用户级的定时任务)

 

(2)crontab命令参数

        crontab -u:用来设定某个用户的crontab服务此参数一般有root用户来运行。

        crontab -l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。

        crontab -r:从/var/spool/cron目录中删除某个用户的crontab文件

        crontab -i:在删除用户的crontab文件时给确认提示。

 (3)时间表示方式

格式:分 时 天 周 执行动作

 (4)发起系统级别的定时任务

 

3、用户级别定时任务的安全优化

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

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

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

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

如果系统中没有黑白名单那么只有root用户可以执行任务 黑白名单为用户列表,每个用户一行 黑白名单只针对用户级定时任务进行限制

(1)黑名单文件:/etc/cron.deny

(2)白名单(如黑、白名单都有一样的用户,则黑名单无效,执行白名单)

 

http://www.xdnf.cn/news/3537.html

相关文章:

  • 柔性PZT压电薄膜多维力传感器在微创手术机器人的应用
  • [英语单词] from under
  • 【STM32】定时器
  • React memo
  • 《操作系统真象还原》调试总结篇
  • 在pycharm profession 2020.3上安装使用xlwings
  • 【CTFer成长之路】XSS的魔力
  • 个人健康中枢的多元化AI硬件革新与精准健康路径探析
  • JVM 如何使用性能分析工具定位代码中的性能问题?
  • 博弈论思维——AI与思维模型【90】
  • Elasticsearch 常用的 API 接口
  • npm,yarn,pnpm,cnpm,nvm,npx包管理器常用命令
  • 数字智慧方案5976丨智慧农业顶层设计建设与运营方案(59页PPT)(文末有下载方式)
  • npm命令介绍(Node Package Manager)(Node包管理器)
  • 2d 追加点
  • JDK-17 保姆级安装教程(附安装包)
  • 高等数学-第七版-下册 选做记录 习题9-7
  • 边缘检测算子对比:robert canny prewitt sobel laplace
  • VM虚拟机安装CentOS7.9
  • 实战应用MCP Server-SSE方式(url)
  • Calculus on Computational Graphs: Backpropagation
  • PHP-Cookie
  • Python10天突击--编译过程通常涉及几个关键步骤
  • 贪心算法精解(Java实现):从理论到实战
  • 博客打卡-人类基因序列功能问题动态规划
  • cv::remap() 和 cv::undistortion() 的区别
  • allure测试报告的应用
  • 「Mac畅玩AIGC与多模态11」开发篇07 - 使用自定义名言插件开发智能体应用
  • L3-040 人生就像一场旅行
  • stm32基础001(串口)