您的位置:首页 > 其它

RHEL5 下基于crontab的计划任务两种实现方式

2010-03-30 21:24 531 查看
在服务器的实际运行过程中有不少任务都是由系统自身运行的,如定期备份等。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/中。本文出自 “艳阳天的小窝” 博客,请务必保留此出处http://yytian.blog.51cto.com/535845/289634
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: