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


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


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


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


RHCE 学习笔记(18) 计划任务 at和 crontab_第1张图片


试一下可以 运行

wKioL1SvuZLRwZOJAABXvqbpYzs079.jpg


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

wKiom1SvuNDg1BXMAABCQBeKltw476.jpg


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


wKioL1SvuZXCuhT2AABXfzt_6oc695.jpg


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


wKiom1SvuNOgvMWxAAAiMTpo2LQ456.jpg


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


RHCE 学习笔记(18) 计划任务 at和 crontab_第2张图片


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

wKiom1SvuNnxIwIRAABefmERYgc114.jpg


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


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

wKioL1SvuZ_g7w1DAAA7QySefMs022.jpg

提示没有权限

wKiom1SvuOHiFUm5AABZHB9EYlM148.jpg


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

wKioL1SvuabScPHgAABTeuvDjJI894.jpg

wKiom1SvuOag1bbWAAAj1_lS5Hk783.jpg



接下来,看看crontab


先看看基本格式


RHCE 学习笔记(18) 计划任务 at和 crontab_第3张图片

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


* 代表任意

数字带便具体的时间

x-y表示范围

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


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



RHCE 学习笔记(18) 计划任务 at和 crontab_第4张图片


可以通过 -l 来查看脚本

wKioL1SvubLCRzWIAAAvpv9y6JI026.jpg


或者看看生成的配置文件

wKiom1SvuPGC7V9XAAAs5v4b3xA915.jpg


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

RHCE 学习笔记(18) 计划任务 at和 crontab_第5张图片


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


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

RHCE 学习笔记(18) 计划任务 at和 crontab_第6张图片


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


RHCE 学习笔记(18) 计划任务 at和 crontab_第7张图片