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发信给他