Linux系统中的定时任务:at与cron
需积分: 0 12 浏览量
更新于2024-08-03
收藏 140KB PDF 举报
"这篇文档详细介绍了Linux系统中的定时任务,主要关注了`at`和`batch`命令以及`crontab`,同时也提及了CentOS7中的新特性`timer`,但`timer`未作深入讲解。"
在Linux操作系统中,定时任务是一个极其重要的功能,它允许用户或系统在特定时间自动执行预定的任务。主要有两类计划任务:系统执行的工作,如定期备份或清理缓存,以及个人执行的工作,如定时检查邮件。本文档将详细阐述如何在Linux中设置和管理这些定时任务。
首先,我们讨论`at`和`batch`命令。`at`命令用于在指定的未来时间执行一次性任务,而`batch`则是在系统CPU利用率低于预设阈值(默认为0.8)时执行任务,以利用系统空闲资源。使用`at`命令前,需要确保`atd`服务正在运行,可以通过`service atd status`(CentOS 6)或`systemctl status atd`(CentOS 7)来检查状态,并使用`systemctl start atd`和`systemctl is-enabled atd`来启动服务和查看是否开机启动。
`at`命令的使用包括指定时间(如`at 20:00 2019-3-1`或`at now + 10 minutes`)以及输入要执行的命令。可以使用`-f`选项指定包含指令的任务文件,`-q`指定任务队列,`-l`列出待执行任务,`-d`删除任务,`-m`在任务完成后发送邮件通知。例如,你可以输入`at now + 1 hour`,然后在提示符后输入`echo "Hello, World!"`,最后按`Ctrl + d`结束输入。
`atq`和`atrm`是管理`at`任务的辅助命令,`atq`列出所有待执行的`at`任务,`atrm`用于删除指定的`at`任务,比如`atrm 1`删除编号为1的任务。
除了`at`和`batch`,更常见的定时任务工具是`crontab`,它用于设置周期性的任务。`crontab`允许用户定义复杂的定时规则,如每小时的第5分钟执行某个脚本。要编辑`crontab`配置,可以运行`crontab -e`,然后按照`* * * * * command_to_run`的格式设定时间规则,每个星号代表分钟、小时、日期、月份和星期。例如,`0 2 * * * /path/to/command`将在每天凌晨2点执行指定的命令。
在CentOS 7中,引入了`systemd`的新特性`timer`,它提供了一种与`cron`类似但更精确的定时任务管理方式,但这里并未详细展开。
总结来说,Linux中的定时任务通过`at`、`batch`、`crontab`和`systemd timer`等工具,为用户和系统提供了强大的自动化执行能力,无论是简单的单次任务还是复杂的周期性任务,都可以轻松管理。理解并熟练使用这些工具,对于提高运维效率和自动化工作流程至关重要。
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2020-09-15 上传
2021-09-13 上传
2020-09-15 上传
2019-05-27 上传
睡不醒的猪儿
- 粉丝: 390
- 资源: 9
最新资源
- EventBus:事件总线
- raspberry
- 提取均值信号特征的matlab代码-Challenge2021_firstunofficial:Challenge2021_firstunof
- Fire-Detection:该项目的重点是尽早尝试识别和检测火灾。 那是从烟雾开始的地方。
- 程序猿ProMonkey V2.03
- LeetCode:LeetCode刷题
- pics
- tongxunlu,条形码嵌入式c语言生成源码,c语言程序
- ud_handles:轴/图形孩子的管理。-matlab开发
- OkeTerraform
- UrduSearchingDictionory.java
- LevelClientEvIO:ev.io客户端
- 提取均值信号特征的matlab代码-second_unofficial_entry2021:second_unofficial_entry20
- MusicCD,c语言socks5源码分析,c语言程序
- sphinx-php:我的Sphinx扩展
- 基于Spring + Spring MVC + MyBatis的图书馆管理系统,使用Maven进行包管理 主要功能包括:图书查询