正则表达式以后本来应该学习VIM,不过VIM的 相关知识以及在RH124学习过了,因此直接进入计划任务的学习。


计划任务主要有两个命令,at和crontab。 at是一次性的,crontab是周期性的。


先来 看看at,at语法很简单 at + 时间 ,然后输入执行的内容,Ctrl+D保存退出即可


写个test.sh,更改执行权限


RHCE 学习笔记(18) 计划任务 at和 crontab_RHCE


试一下可以 运行

RHCE 学习笔记(18) 计划任务 at和 crontab_RHCE_02


然后 创建 第一个 计划任务 , 3分钟之后执行我的脚本

RHCE 学习笔记(18) 计划任务 at和 crontab_AT_03


atq 或者 at -l 可以 查看当前还没运行的任务


RHCE 学习笔记(18) 计划任务 at和 crontab_RHCE_04


过几分钟,查看一下,已经执行了 


RHCE 学习笔记(18) 计划任务 at和 crontab_AT_05


我们还可以通过 -q来指定队列


RHCE 学习笔记(18) 计划任务 at和 crontab_RHCE_06


如果要删除计划任务 ,可以使用 atrm

RHCE 学习笔记(18) 计划任务 at和 crontab_crontab_07


at的访问权可以通过配置文件 at.deny (拒绝)和 at.allow (允许)来配置


比如在at.deny添加用户名,该用户就无法使用at了

RHCE 学习笔记(18) 计划任务 at和 crontab_RHCE_08

提示没有权限

RHCE 学习笔记(18) 计划任务 at和 crontab_crontab_09


把用户从at.deny删除 或者 加入 at.allow里面,用户又可以使用at了

RHCE 学习笔记(18) 计划任务 at和 crontab_AT_10

RHCE 学习笔记(18) 计划任务 at和 crontab_AT_11



接下来,看看crontab


先看看基本格式


RHCE 学习笔记(18) 计划任务 at和 crontab_AT_12

crontab的文件有6列,依次代表分,时,日期,月,星期几,命令;前5列语法规则是


* 代表任意

数字带便具体的时间

x-y表示范围

*/x 表示每隔X的时间段


比如,我输入 crontab -e,创建一个任务,这个表示从周一到周五,每天21点-22点,每隔2分钟运行一下这个脚本



RHCE 学习笔记(18) 计划任务 at和 crontab_crontab_13


可以通过 -l 来查看脚本

RHCE 学习笔记(18) 计划任务 at和 crontab_AT_14


或者看看生成的配置文件

RHCE 学习笔记(18) 计划任务 at和 crontab_crontab_15


修改了一下上面的时间从19到20点,然后查看日志,发现已经记录运行的任务

RHCE 学习笔记(18) 计划任务 at和 crontab_RHCE_16


除了用户定义的计划任务,还可以配置系统的计划任务


这个系统的任务是由配置文件配置的,语法如下所示

RHCE 学习笔记(18) 计划任务 at和 crontab_RHCE_17


配置文件在 /etc/crontab 和 /etc/cron.d/中,比如下面代表每个小时执行一次;可以把需要执行的脚本放在对应的目录下 /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly, /etc/cron.monthly


RHCE 学习笔记(18) 计划任务 at和 crontab_crontab_18