Linux学习笔记_8_进程管理_3_计划任务


一、一次性计划任务
at命令
功能:安排一个/几个命令在制定时间运行一次
1、at的命令格式及参数
at [-f 文件名] 时间
at -d 或者 atrm 删除队列中的任务
【at生成的文件保存在/var/spool/at目录下】
at -l 或者 atq 查看队列中的任务


2、at指定时间的方式
绝对计时方法
midnight noon teatime
hh:mm [today]
hh:mm tomorrow
hh:mm 星期
hh:mm MM/DD/YY 【DD.MM.YY YYMMDD】


相对计时方法
now + n minutes
now + n hours
now + n days

【示例】
指定在今天下午 17:30 执行某命令(假设现在时间是下午14:30,2011年1月11日)
at 5:30pm
at 17:30 [today] //today可省略
at now + 3 hours
at now + 180 minutes
at 17:30 11.1.11
at 17:30 1/11/11


3、at使用范例
I.交互方式
at 9:00
II.使用命令文件方式
1、生成at.script文件
2、使用at命令
at -f at.script 9:00 1/11/11 或者 at < at.script 9:00


【finger [+username] :可查看系统中的计划任务】
【ps -le | grep atd :可用于查看系统中at进程是否启动】
【如果at尚未启动,则用:/etc/rc.d/init.d/atd start 手工启动】


4、at的执行结果与配置文件
如果/etc/at.allow文件存在,那么只有列在此文件中的用户才可以使用at命令;若 /etc/at.allow文件不存在,则检查/etc/at.deny 文件是否存在。若/etc/at.deny存在,则在此 文件中列出的用户都不能使用at命令。如果两个文件都不存在,则只有超级用户可以 使用at命令。如果两个文件都存在而且均为空,则所有用户都可以使用at命令。


batch命令【使用并不多】
1、作用:安排一个或多个命令在系统负载较轻时运行一次(一般情况下负载较轻指平 均负载降到0.8以下)。
2、使用方法同at


二、周期性计划任务
crontab 命令
1、作用: 用于生成cron进程所需要的crontab文件

2、格式:crontab {-l|-r|-e}
-l 显示当前的crontab 内容
-r 删除当前的crontab【全部清除】
-e 使用编辑器编辑当前的crontab文件。

3、crontab文件格式
【minute hour day-of-month month-of-year day-of-week commands 】
【分钟 小时 天 月 星期几 命令/脚本】
【分钟:*/2 :每隔两分钟】
【小时:*/1:每隔一个小时 12-14 :12点到14点】
Minute 一小时中的哪一分钟[0~59]
hour 一天中的哪个小时 [0~23] 【24小时制】
day-of-month 一月中的哪一天 [1~31]
month-of-year 一年中的哪一月 [1~12]
day-of-week 一周中的哪一天 [0~6]
commands 执行的命令
【把知道的具体的都时间值添上,把不知道的时间值都填*】
【crontab文件建立好以后可以到/var/spool/cron目录确认】


【如果通过查看进程发现crod没有启动,则需手动启动:
/etc/rc.d/init.d/cron start】


4、书写注意事项
I. 选都不能为空,必须填入
II. 不知道/不需要制定的项目的值使用统配符*表示任何时间
III. 每个时间字段都可以指定多个值,不连续的值用”,”间隔,连续的值用”-”间隔。
IV. 命令应该给出绝对路径
V. 用户必须具有运行所对应的命令或程序的权限

【计划任务还应保存一些额外的信息,如出错信息等】


5、crontab的配置文件 /etc/crontab
最后几行,定义了每小时,每天等的具体时间系统的周期执行任务


6、cron配置文件
作用:限制哪些用户可以使用crontab命令
/etc/cron.allow
/etc/cron.deny


用法:与at类似


三、进程处理方式
1、standalone 独立运行
2、xinetd 进程托管
3、atd、crond 计划任务


【附:伪设备/dev/null 类似与黑洞】

相关内容