在服务器的实际运行过程中有不少任务都是由系统自身运行的,如定期备份等。Windows 2003下的计划任务都是图形界面来完成操作的,相对而言比较简单。现在要说的是在RHEL5下的任务计划的实现。这种实现是通过Crond来完成的,在此有两种方式:
一、使用crontab -e 来快速实现。
  每个用户都有自己的cron配置文件,通过crontab -e 就可以编辑,一般的情况下,编辑好用户的cron配置文件保存退出后,系统会自动就存放于/var/spool/cron/目录中,文件以用户名命名。
 crontab -e  注:编辑用户的cron配置文件;
 crontab -l  注:查看用户的计划任务;
  如当前系统远行着vsftpd,我们想让其在0:34分的时候停止;而系统中当前的squid服处于停止状态,我们想让其于0:34分开始运行。当前登录的用户为root:运行crontab -e 来完成编辑,使用crontab -l 来完成显示,如下所示
 [root@localhost init.d]# crontab -l
 34 0 * * * /etc/init.d/squid start
 34 0 * * * /etc/init.d/vsftpd stop
 注:完成编辑后要使用service crond restart 来完成重新启动。
  验证情况如下:
 [root@localhost init.d]# service squid status
 squid (pid 10503) 正在运行...
 [root@localhost init.d]# service vsftpd status
 vsftpd 已停
 [root@localhost init.d]# clock
 2010年03月22日 星期一 00时38分58秒  -0.325550 seconds
二、详细配置文件设置方法
  首先要编辑/etc/crontab文件,在里面编辑任务的类型,六个参数分别为分、时、日、月、周、用户。如我们想让上面的vsftpd在0:50再开始运行,而令squid在0:50结束,编写如下内容:
 50 0 * * * root run-parts /et/cron.hourly
 50 0 * * * root run-parts /etc/cron.hourly 
 其它的不做改变,保存后执行service crond restart.
 
然后进入/etc/cron.daily,新建一个文本文件task.sh,编写如下内容:
 etc/init.d/vsftpd stop
 etc/init.d/squid start
 保存退出,然后执行service crond restart。任务执行效果与前都相同,如下所示:
 [root@localhost cron.daily]# clock
 2010年03月22日 星期一 00时50分01秒  -0.484281 seconds
 [root@localhost cron.daily]# service vsftpd status
 vsftpd 已停
 [root@localhost cron.daily]# service squid status
 squid (pid 10503) 正在运行...
 [root@localhost cron.daily]#


  值得一提的是,在编写任务计划的时候,要执行的任务必须要指定其程序的路径,一般说来,这些应用程序的路径分布在/etc/init.d/、/etc/rc.d/以及/usr/sbin/中。