【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 通过 timer 和 service 单元来实现定时任务调度。

(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

相关推荐
Felven40 分钟前
stress-ng 与 fio 性能测试工具使用指南
linux·测试工具·fio·stress-ng
XiaoMaqqqq1 小时前
市面上正规的IP驱动产业新场景新工具哪家强
运维·python·网络协议·tcp/ip
huainingning2 小时前
RJ SW Console口忘记密码处理方法
linux·运维·服务器
布裘2 小时前
【银河麒麟】桌面系统循环登录,无法进入桌面?
linux·运维·服务器
慧都小项2 小时前
程序到了Linux才出错?用CLion把调试接到目标环境
linux·运维·服务器
Lsetea2 小时前
OpenSSL verify报unhandled critical extension:error 34与关键扩展排查
运维·https·ssl证书·openssl·证书链
guo_wen_qiang3 小时前
docker的备份与迁移
运维·docker·容器
Ruiery4 小时前
Linux 6.6内核内存管理深度解析(一):物理内存初始化 — memblock 怎么把内存交给 buddy
linux·运维·服务器
2401_868534784 小时前
无线网络规划设计
服务器·网络
库拉镜像AI牛牛4 小时前
短剧内容自动化生产:知漫剧工作室落地教程
大数据·服务器·前端·人工智能·语音识别