【Linux】第十五章 调度未来任务

1.如何调度延迟的用户任务?

  • at 软件包包含 atd守护进程,和一组命令(at、atq等)。在默认的 RHEL 安装过程中,将自动安装并启用 atd守护进程。
  • root 及普通用户可以使用 at 命令创建计划任务,atd守护进程提供 a-z 共 26个队列,按字母排序,越后面的队列优先级越低。

使用 at <时间> -f <脚本或命令> 命令指定在未来某个时间点执行任务。常见的时间格式:

  • now + 5 minutes:当前时间加上 5 分钟。
  • now + 1 hour:当前时间加上 1 小时。
  • 02:00 PM:指定某个具体时间。
  • midnight:今天午夜(00:00)。

使用 atq 或 at -l命令查看用户的待处理作业。

2.如何调度定期任务?

crond守护进程管理周期性作业,由 cronie软件包提供,默认安装并启动。crond守护进程读取多个配置文件,crontab 命令编辑配置文件。

  • crontab -l 列出当前用户的计划作业。
  • crontab -r 删除当前用户的所有作业。
  • crontab -e 编辑当前用户的作业。
  • crontab filename 删除所有作业,将文件中的任务添加到当前用户的 cron 表中。如果没有指定文件,系统会自动打开默认编辑器,允许你直接编辑和管理当前用户的 cron 表。
  • crontab -u 管理其他用户的作业。 不推荐 crontab 命令来管理系统作业。

3. crontab 文件中的用户作业时间格式怎么解释?

crontab 的字段格式是:分 时 日 月 周 命令。

  • * 表示始终

  • 数字可用于指定分钟数或小时数、日期或者工作日

  • x-y 表示范围,x 到 y(含)

  • x,y表示列表,列表也可以包含范围

  • */x 表示 x 的时间间隔

4. 如果需要以当前用户身份计划周期性作业,在上午8点到晚上9点之间每两分钟一次输出当前日期和时间,该作业只能在周一到周五运行,周六或周日不能运行。要怎么做?

首先使用命令:crontab -e ,打开cron配置,然后添加 */2 8-21 * * 1-5 date 。

5. 要计划周期性系统作业,应该将自定义的crontab文件放入哪个位置?

放在 /etc/cron.d目录下。

6.如何使用 systemd 定时调度任务?

systemd 作为现代 Linux 系统的初始化系统,它提供了比传统的 cron 更加灵活和强大的定时任务管理方式,适合需要系统级别任务调度的情况。systemd 通过 timerservice 单元来实现定时任务调度。

(1)在/etc/systemd/system目录下,为你想要定时执行的任务创建一个 systemd 服务单元(.service),完成后重新加载systemd配置:systemctl daemon-reload。

(2)在/etc/systemd/system目录下,创建一个 systemd 定时器(.timer),完成后重新加载systemd配置:systemctl daemon-reload。

(3)启动并启用定时器:systemctl start myscript.timer;systemctl enable myscript.timer

相关推荐
青青草原技术员灰太狼1 天前
Nginx的https搭建
linux·服务器·网络
xu_yule1 天前
网络和Linux网络-4(应用层)序列化和反序列化(网络计算器)
linux·网络
宇钶宇夕1 天前
三旺 INP314T 网关快速入门指南:从登录到基础配置
运维·自动化·软件工程
2***s6721 天前
Failed to restart nginx.service Unit nginx.service not found
运维·nginx
拿破轮1 天前
使用通义灵码解决复杂正则表达式替换字符串的问题.
java·服务器·前端
YongCheng_Liang1 天前
Zabbix 6.4 完整部署教程:从环境准备到监控实战
linux·运维·zabbix
&&Citrus1 天前
【杂谈】SNNU公共计算平台:深度学习服务器配置与远程开发指北
服务器·人工智能·vscode·深度学习·snnu
小白电脑技术1 天前
旧电脑安装流畅的系统?用虚拟机先体验一下Linux Mint!
linux·电脑
数字化顾问1 天前
(65页PPT)大型集团物料主数据管理系统建设规划方案(附下载方式)
大数据·运维·人工智能
翼龙云_cloud1 天前
阿里云渠道商:新手怎么操作阿里云无影云电脑?
运维·服务器·阿里云·云计算·电脑