一次性计划任务的安排: at :安排作业在某一时刻执行一次(一般都是用它)
batch:安排作业在系统负载不重时执行一次
第一步: #service atd start 开启一次性计划任务 at 时间
1、绝对的计时方法 midnight noon teatime HH:MM[today] HH:MM[tommorow] HH:mm 星期 HH:MM mm/dd/yy 2、相对的计时方法
now + n minutes now + n hours
now + n day
指定今天下午5:30执行某个命令(假设现在时间中午12:30,2009/9/16) at 5:30pm at 17:30 at 17:30 today at now + 5 hours at now + 300 minutes at 17:30 16.9.2009 at 17:30 9/16/2009
指定的时间都是未到的 我们也可以把我们要执行的命令写到一个文件你如 #vi one.txt 在文件中编辑/bin/echo "#############" > a.txt #at -f one.txt 10:30
at -f 文件 时间点 at < one.txt 时间点
在某个时间执行某个程序(命令),一定要使用命令的绝对路径
at 10:56 >/bin/cp /root/* /home/ >bin /echo "11111111" >/root/one.txt
ctrl +d退出 at -l 查看或atq at -d 或 atrm 删除计划任务
at的执行结果和配置文件
at的结果 通过邮件寄给提交这个命令的用户
at的配置文件:限制哪些用户可以使用at命令 /etc/at.allow 如果这个文件存在,那么列在此文件中的用户才可以使用at命令, 如果这个文件不存在则查/etc/at.deny
/etc/at.deny 如果这个文件存在,则在文件中列出的用户 都不能使用at命令
如果两个文件都不存在,则只有root用户可以使用at命令。 如果两个文件都存在,而且均为空,则所有用户都可以使用at命令。
周期性计划任务的:crond #service crond start 开启周期性计划任务
crond 进程搜索crond文件并载入内存
crontab文件即/var/spool/cron/目录下以用户名命名的文件
crond进程启动以后,他首先检查是否用户设置了crontab文件,如果没有转入“休眠”状态 释放系统资源 crond进程每分钟醒来一次,
查看crontab文件决定当前是否有需要执行的命令。 命令执行结束后,任何输出丢将作为邮件发送给crontab的所有者。
#crontab -e 编辑周期任务
#crontab -l 查看计划任务
#crontab -r 删除当前的计划任务
计划任务书写的格式:
分 时 天 月 星期
[0--59] [0--23] [1--31] [1--12] [0--7](0 ro 7 is sun)
*/2 3,5,7 1-5
每隔两分钟 三点,五点,七点 周一到周五
这些项都不能够为空,必须填写
如果以后不需要指定其中几项,可以用通配符“*”表示
每个时间段都可以指定多个值,它们可以用逗号间隔,5-6 */3
命令应该给出绝对路径
用户必须具有运行crontab的权限
/etc/cron.allow /etc/cron.deny
作用与at的相似