文章目录
前言
Linux的例行性工作分为两种,一种是但一执行(at),一种是循环执行(crontab)
at
要使用单一的计划任务,Linux负责这个调度的是 atd,我们使用 at 命令来生成所要运行的工作,并将这个任务以文本的方式存放在 /var/spool/at/ 内。

用法如上
at 20:58
touch /file1
<Ctrl+D>


还有一种方法,它可以更详细地规定时间,表示当前时间后的几分钟
at now + 1 minutes
touch /file2
<Ctrl+D>

删除命令是通过 at -d (编号一致)

cron
循环执行的例行性工作是由 crond 这个服务来调度的,同样它也使用了黑白名单机制,当用户新建工作任务后,该项工作会被记录在 /var/spool/cron/ 里,并且它执行的每一项任务都会被记录在 /var/log/cron 中。

用法如上
当我们输入 crontab -e 的时候,他会弹出一个 vim,并临时保存在 /tmp/ 下一个随机文件,当我们写完后他才会被保存在 /var/spool/cron/ 中,它的格式如下:
| 代表意义 | 分钟 | 小时 | 日期 | 月份 | 周 | 命令 |
|---|---|---|---|---|---|---|
| 数字范围 | 0-59 | 0-23 | 1-31 | 1-12 | 0-7 | 执行的命令 |
特别的,0和7 都代表周日
| 特殊字符 | 含义 |
|---|---|
* | 代表任何时刻 |
, | 代表分隔时段 |
- | 代表一段时间范围 |
/数字 | 指定时间的间隔频率,例如每3分钟进行一次,*/3 |
我们写一个创建文件的计划任务


我们也可以查看 /var/spool/cron/ 下的这个任务

过去了两分钟,我们可以看一下根下创建好的这个文件

我们也可以指定系统的例行性计划任务,这时需要编辑 /etc/crontab











