Linux操作系统下,计划任务的使用。
在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,试了很多办法,找了很多文章,都不管用。
索性也就不再这个问题上纠结。