Linux系统下的延迟及定时任务
1. 延迟任务
1.1 发起延迟任务
命令 | 作用 |
---|---|
at + <时间> + 回车 + <命令> +回车+【Ctrl+d】 | 发起延迟任务 |
at -l | 查看任务队列 |
at -c <任务号> | 查看任务内容 |
at -r <任务号> | 取消任务 |
示例:
1.2 有输出的延迟任务
当延迟任务有输出,输出会以邮件形式发送到任务发起者邮箱中
1.安装 mailx postfix
2.重启 postfix 服务
3.对邮箱的管理
①:发送邮件, mail <用户名>
②:查看root用户的邮件
③:清空root邮件
测试:
1.发起有输出的延迟任务
2.在邮箱中查看任务的输出
1.3 at 命令的控制
- /etc/at.deny #at黑名单,此名单中的人不能执行at
- /etc/at.allow
- 此文件默认不存在
- 当此文件存在,/etc/at.deny不生效,系统中普通用户默认不能执行at,只有名单中的人可以
2. 定时任务
2.1 定时任务的管理
- crond : 定期重复任务的服务
- 任务储存位置:/var/spool/cron/root
- 命令设定方式
命令 | 作用 |
---|---|
crontab -u root -e | 用户级别设定任务 |
crontab -u root -l | 查看任务 |
crontab -u root -r | 删除任务 |
示例:
定时任务的其他写法:
2.2 配置文件方式设定
- 系统级别cron ,只有超级用户可以操作
- 系统级别cron设定文件存放路径: /etc/cron.d
- 系统级别cron任务文件
文件 | 解释 |
---|---|
/etc/cron.daily / | 每天任务 |
/etc/cron.hourly/ | 每小时任务 |
/etc/cron.monthly/ | 每月任务 |
etc/cron.weekly/ | 每周执行任务 |
/etc/cron.deny | cron用户黑名单 |
/etc/cron.allow | cron白名单,默认不存在,存在时:/etc/cron.deny失效,只有名单中的人可以执行cron |
示例:
1.在/etc/cron.d目录下编写cron文件
2.查看邮件,定时任务已被执行