Linux系统定时与延时任务管理详解
需积分: 9 130 浏览量
更新于2024-08-05
收藏 1.19MB DOCX 举报
"系统定时任务及延时任务"
在Linux操作系统中,系统定时任务和延时任务是非常重要的功能,它们允许管理员或用户按照预设的时间安排执行特定的任务。本资源主要涉及了`at`命令用于实现延时任务,以及`cron`服务用于设置周期性的定时任务。
1. **系统延时任务**
使用`at`命令可以在指定的未来时间执行一次性的任务。例如,`at 23:37`设定任务在晚上11点37分执行,`at now + 1min`则表示1分钟后执行。任务内容如`rm -fr /mnt/*`,完成后可以通过`at -l`查看任务列表,`at -c 任务号`查看任务详情,`at -r 任务号`取消任务。需要注意的是,任务的输出会通过邮件发送给发起者,可以通过`mail -u root`查看邮件,`1`查看首封邮件,`q`退出,`>`清空邮件。任务相关文件位于`/var/spool/mail/root`。
2. **at任务的黑白名单**
`/etc/at.deny`文件包含了不允许使用`at`命令的用户列表,而`/etc/at.allow`如果存在,则只有名单内的用户可以使用`at`,此时`/etc/at.deny`失效。
3. **系统定时任务**
系统定时任务通常使用`crontab`命令管理,任务保存在`/var/spool/cron/username`的文件中。`crontab`的时间表示方式非常灵活,例如:
- `* * * * *`:每分钟执行
- `*/2 * * * *`:每两分钟执行
- `*/2 9-17 * * *`:每天早上9点到下午5点每两分钟执行
- `*/2 */2 * * *`:每隔两小时每两分钟执行
- `*/20 9-17 3,5 15 *`:每月15日的周三和周五,上午9点到下午5点每20分钟执行
`crond.service`服务控制着定时任务的生效。`crontab`相关的命令有:
- `crontab -e -u 用户名`:编辑指定用户的crontab文件
- `crontab -l -u 用户名`:列出指定用户的crontab任务
- `crontab -r -u 用户名`:删除指定用户的crontab任务
4. **系统级别的cron任务**
另一种设置定时任务的方式是通过编辑`/etc/cron.d/`目录下的文件,例如`vim /etc/cron.d/file`,其中`***** username action`表示时间格式后跟着用户名和执行的动作,如`* * * * * root rm -fr /mnt/*`。
5. **crontab的黑白名单**
类似于`at`命令,`/etc/cron.deny`包含了不允许使用`crontab`的用户列表,而`/etc/cron.allow`如果存在,只有名单内的用户可以使用`crontab`,但不影响`/etc/cron.d/`目录中的定时任务。
6. **系统中临时文件的管理**
系统临时文件通常由`systemd-tmpfiles`管理,配置文件位于`/usr/lib/tmpfiles.d/`目录下,如`vim westos.conf`,`d/mnt/westos 777 root root 8s`表示创建一个挂载点`mnt/westos`,权限777,所有者为root,组也为root,8秒后自动清理。
总结来说,Linux中的系统定时任务和延时任务是通过`at`和`cron`两个主要工具实现的,它们提供了灵活的时间调度和任务执行机制,确保了系统的自动化运行和维护。同时,系统级别的权限控制确保了任务的安全性和可控性。对于临时文件的管理,`systemd-tmpfiles`则提供了一种有效的方式来维护系统的整洁和安全。
2021-01-03 上传
2022-07-12 上传
2021-01-09 上传
2021-01-11 上传
2024-09-11 上传
2023-05-25 上传
2023-08-20 上传
2023-09-14 上传
2020-08-26 上传
Z.c173
- 粉丝: 1
- 资源: 6
最新资源
- 开源通讯录备份系统项目,易于复刻与扩展
- 探索NX二次开发:UF_DRF_ask_id_symbol_geometry函数详解
- Vuex使用教程:详细资料包解析与实践
- 汉印A300蓝牙打印机安卓App开发教程与资源
- kkFileView 4.4.0-beta版:Windows下的解压缩文件预览器
- ChatGPT对战Bard:一场AI的深度测评与比较
- 稳定版MySQL连接Java的驱动包MySQL Connector/J 5.1.38发布
- Zabbix监控系统离线安装包下载指南
- JavaScript Promise代码解析与应用
- 基于JAVA和SQL的离散数学题库管理系统开发与应用
- 竞赛项目申报系统:SpringBoot与Vue.js结合毕业设计
- JAVA+SQL打造离散数学题库管理系统:源代码与文档全览
- C#代码实现装箱与转换的详细解析
- 利用ChatGPT深入了解行业的快速方法论
- C语言链表操作实战解析与代码示例
- 大学生选修选课系统设计与实现:源码及数据库架构