Linux操作系统下,计划任务的使用。

作者: harde 分类: 计算机 发布时间: 2012-10-23 12:46

在Windows里,我们如果要定时执行某任务,可以使用Windows自带的“计划任务”程序。
Linux要实现类似操作也很简单,使用Cron服务就可以。它也是操作系统自带的。

注意:有些操作系统默认是没有安装的,比如我正在使用的的Centos 5.8

安装Corn

# yum install vixie-cron

正常情况下crontabs会被自动安装。

# yum install crontabs

设置开机自动启动

# chkconfig crond on

启动服务

# service crond start

或者

# /etc/init.d/crond start

可是使用的命令:

service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置

OK,可以开始添加任务了

cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除某个用户的cron服务
crontab -e //编辑某个用户的cron服务

如果要针对系统,那么可以手动修改

# vim /etc/crontab

文件。内容与普通用户相同。

比如说查看用户”harde”的cron设置:crontab -u harde -l
再例如,root用户要删除harde的cron设置:crontab -u harde -r

输入:crontab -u root -e 进入编辑模式:
这里要遵循
*  *  *  *  *  program
这样的格式,代表的意思是
分  时  日  月  周 命令

取值范围:
分钟 (0-59)
小時 (0-23)
日期 (1-31)
月份 (1-12)
星期 (0-6)//0代表星期天

除了数字还有几个个特殊的符号就是
“*” 代表所有的取值范围内的数字
“/” 代表每的意思,例如“*/3”就代表“每三分钟”
“-” 代表从某个数字到某个数字,比如3-6代表3、4、5、6
“,” 代表分开几个离散的数字,比如3,6,9

举几个具体例子

30 21 * * * /usr/local/etc/rc.d/lighttpd restart

表示每晚的21:30重启lighttpd服务。

* */1 * * * /usr/local/etc/rc.d/lighttpd restart

表示每一小时重启一次lighttpd

我使用cron用来重启ipsec服务,不知道为什么,公司的l2tp服务,经常会出现无法连接的问题,只要重启ipsec就ok,试了很多办法,找了很多文章,都不管用。
索性也就不再这个问题上纠结。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注