at 和crontab

来源:互联网 发布:伊波拉病毒 电影 知乎 编辑:程序博客网 时间:2024/04/28 03:45

1. at命令:仅执行一次的工作调度

我们使用at命令来生成所要运行的工作,并将这个工作以文本文件的方式写入到 /var/spool/at/目录里,使该工作能等待atd这个服务取用和执行。

先寻找/etc/at.allow这个文件,只有写在这个文件中的用户才能使用at命令;再寻找/etc/at.deny文件,写在这个文件里的用户不能使用at命令;要是这两个文件都不存在,说明只有root用户才有权限使用at命令。

step1. atd服务的启动  /etc/init.d/atd restart

step2.at命令详解

         at [-mldv] TIME

          at -c 工作号码

         参数:

          -m:当at的工作完成后,即使没有输出信息,以email通知该用户工作已经完成

          -l: at -l相当于atq,列出系统上所有该用户at的调度

          -d: at -d相当于atrm,取消一个在at调度中的工作

          -v:可以使用比较明显的时间格式列出at调度中的任务列表

          -c:列出后面接的该工作的实际命令内容

          TIME时间格式:

           HH:MM            04:00

           HH:MM  YYYY-MM-DD             04:00   2009-03-17

           HH:MM[am|pm]   [Month]   [Date]       04pm   March 17

           HH:MM[am|pm]+numver [minutes|hours|days|weeks]              04:00 + 5 minutes

           now + 5 minutes


截图:



################################################################################################################

2 . crontab命令,循环执行的例行性工作调度

该命令在安全性上也对应两个文件:/etc/cron.allow和/etc/cron.deny,如果这两个文件都不存在,说明只有root才能执行

与at类似也有一个目录/var/spool/cron来存放

参数 :

crontab -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数

来指定使用那个文字编辑器(比如说 setenv VISUAL joe)

crontab -r : 删除目前的时程表

crontab -l : 列出目前的时程表

crontab file [-u user]-用指定的文件替代目前的crontab。

时程表的格式如下 :

f1 f2 f3 f4 f5 program

其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。



在terminal里执行crontab -e会编辑一个文件,在这个文件里添加任务的执行。

例如:你要给kiki发一份信,这个信的内容在/home/lover.txt里

在执行crontab -e后,编辑为

59 23 1 5 * mail kiki < /home/lover.txt

表示在每年的5月1号23:59发信给他