计划任务:
为什么要设置计划任务 : 实现数据库备份,发送系统通知神马的.....
计划任务的命令:
一: at : 安排作业在某一时刻执行一次
nbatch 安排作业在系统负载不重时执 行一次
cron : 安排周期性运行的作业
at命令的功能和格式:
功能:安排一个或多个命令在指定的时间运行一次
at的命令格式及参数:
at [-f 文件名] 时间
at -d or atrm 删除队列中的任务
at -l or atq 查看队列中的任务
at命令指定时间的方式:
绝对计时方法:
midnight noon teatime
hh:mm [today]
hh:mm tomorrow
hh:mm 星期
hh:mm MM/DD/YY
相对计时方法
now + n minutes
now + n hours
now + n days
一般使用绝对时间:
指定在今天下午 17:30 执行某命令(假设现在时间是下午14:30,2011年1月11日)。
命令格式如下∶
at 5:30pm
at 17:30
at 17:30 today
at now + 3 hours
at now + 180 minutes
at 17:30 11.1.11
at 17:30 1/11/11
交互方式 :at 9:00
使用命令文件方式 :
1. 生成文件at.script:
2. 使用at命令
at -f at.script 9:00 2/2/11
or
at < at.script 9:00 2/2/11
at配置文件:
作用:限制哪些用户可以使用at命令
/etc/at.allow
/etc/at.deny
解释:
如果/etc/at.allow文件存在,那么只有列在此文件中的用户才可以使用at命令;若/etc/at.allow文件不存在,则检查/etc/at.deny文件是否存在。若/etc/at.deny存在,则在此件中列出的用户都不能使用at命令。如果两个文件都不存在,则只有超级用户可以使用at命令。如果两个文件都存在而且均为空,则所有用户都可以使用at命令。
二: batch命令:
作用:安排一个或多个命令在系统负载较轻时运行一次(一般情况下负载较轻指平均负载降到0.8以下)。 通过w命令可以查看系统负载
使用方法同at
三:crontab命令格式: 这是重点...
作用:用于生成cron进程所需要的crontab文件
pcrontab的命令格式 crontab {-l|-r|-e}
-l 显示当前的crontab
-r 删除当前的crontab
-e 使用编辑器编辑当前的crontab文件。
crontab文件格式
minute hour day-of-month month-of-year day-of-week commands
Minute 一小时中的哪一分钟 [0~59]
nhour 一天中的哪个小时 [0~23]
day-of-month 一月中的哪一天 [1~31]
month-of-year 一年中的哪一月 [1~12]
day-of-week 一周中的哪一天 [0~6]
ncommands 执行的命令
分钟 小时 天 月 星期 命令/脚本
0 4 * * * // 每天的凌晨地点干什么事
0 18 * * 2,5 //每周二和五的下午六点干什么事
0 18 * 1-3 2,5 // 1-3月 的每周2,5的下午六点干什么事
30 17 * * 1-5 /usr/bin/wall << /etc/issue
50 17 * * 1-5 shutdown -h now
*/2 12-14 * (3-6,9-12) (1-5) * 每隔两分钟干什么....
(/bin/cp -r /etc/backup/etc.201131111 > /backup/ect.bak/err
> /dev/null)
写的原则:把知道的具体时间值填上, 不知道的都添上*
书写注意事项:
1:选都不能为空,必须填入,不知道的值使用统配符*表示任何时间
2:每个时间字段都可以指定多个值,不连续的值用,间隔,连续的值用-间隔。
3:命令应该给出绝对路径
4:用户必须具有运行所对应的命令或程序的权限
crontab应用示例:
# crontab -e
55 17 * * 1-5 /usr/bin/wall < /etc/motd
0 18 * * 1-5 /sbin/init 5
0 0 1,15 * 1 /bin/cp -R /etc /backup/etc.0111
* crontab文件建立好以后可以到/var/spool/cron目录确认
cron配置文件和at类似:
作用:限制哪些用户可以使用crontab命令
/etc/cron.allow
/etc/cron.deny
进程处理方式:
standalone 独立运行 :服务启动后一直驻留在计算机内,占用系统资源和CPU,等待客户端请求,然后给出应答。 占用系统资源比较多,响应速度快。
xinetd 进程托管 : (互联网超级守护进程) 一旦有客户端请求,才启动,应答客户端,然后结束
atd、crond 计划任务