在windows中也用计划任务这一功能,在控制面板 -> 性能与维护 -> 任务计划, 它的功能就是安排自动运行的任务。 通过'添加任务计划'的一步步引导,则可建立一个定时执行的任务。 在linux同样具备相同的功能,介绍如下:

1. at命令:指定一个时间执行一个任务
  (1) 只能执行一次,且需要开启atd进程(ps -ef | grep atd查看, 开启用/etc/init.d/atd start or restart; 开机即启动则需要运行chkconfig --level 2345 atd on)。
  eg:at now +1 min
at> echo "hello" > /dev/tty2后回车 # 一分钟后发送“hello”给tty2终端
--注意: 使用ctrl+d来终结字符输入(即<EOT>)
  eg:at 00:55 2009-12-13
at> echo "test at command" > /home/test.txt 
  eg: at 1:00 2009-12-13
at>/sbin/shutdown -h now #此处最好使用绝对路径
at命令创建的任务会放在/var/spool/at下面, 是一个脚本文件,可以用vi进行编辑。
  eg: at now +1 min
at> echo "hello" <EOF>, 此时会以发送邮件的方式给当前执行的人, 用mail命令可以查看, 即先使用mail命令,出现&后输入'1'则可查看。

atq指令:查询当前机器上有哪些等待执行的任务, 其第一列为工作号。
atrm指令:取消任务, eg: atrm 10 #其中10为工作号。
batch指令:以一个较低优先级延时执行任务。
  eg:batch
at> echo "hello" > /home/abc.txt <EOF>

 (2) at命令的安全控制
  /etc/at.allow #列出可以使用at命令的用户, 先找at.allow文件,再找at.deny文件
  /etc/at.deny #列出不可以使用at命令的用户, 一行一个用户。
若既无at.allow文件,也无at.deny文件,则只有root用户才能执行at命令


2. cron机制:根据一个时间表自动执行任务

3. anacron机制:在一个指定的时间间隔错过后自动执行任务