现在的位置: 首页 > 综合 > 正文

linux之crond服务

2014年09月05日 ⁄ 综合 ⁄ 共 3600字 ⁄ 字号 评论关闭

安装crontab:
[root@CentOS ~]# yum install vixie-cron
[root@CentOS ~]# yum install crontabs

说明:
vixie-cron软件包是cron的主程序;
crontabs软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。
//+++++++++++++++++++++++++++++++++++
cron 是linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置

查看crontab服务状态:service crond status

手动启动crontab服务:service crond start

查看crontab服务是否已设置为开机启动,执行命令:ntsysv

加入开机自动启动:
chkconfig --level 35 crond on


1,crontab命令

功能说明:设置计时器。

语  法:crontab [-u <用户名称>][配置文件] 或 crontab [-u <用户名称>][-elr]

补充说明:cron是一个常驻服务,它提供计时器的功能,让用户在特定的时间得以执行预设的指令或程序。只要用户会编辑计时器的配置文件,就可以使用计时器的功能。其配置文件格式如下:
   Minute Hour Day Month DayOFWeek Command

参  数: 
 -e  编辑该用户的计时器设置。 
 -l  列出该用户的计时器设置。 
 -r  删除该用户的计时器设置。 
 -u<用户名称>  指定要设定计时器的用户名称。

2,crontab 格式

基本格式 :
*   *  *  *  *  command
分 时 日 月 周  命令

第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

crontab文件的一些例子:

30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启apache。

45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重启apache。

10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六、周日的1 : 10重启apache。

0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。

0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每星期六的11 : 00 pm重启apache。

* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小时重启apache

* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点之间,每隔一小时重启apache

0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4号与每周一到周三的11点重启apache

0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
一月一号的4点重启apache

*/30 * * * * /usr/sbin/ntpdate 210.72.145.44
每半小时同步一下时间

1.查看vixie-cron RPM 软件包是否已安装

判定该软件包是否已安装,使用 rpm -q vixie-cron 命令。

[root@localhost ~]# rpm –q vixie-cron

2.判定服务是否在运行

判定该服务是否在运行,使用 /sbin/service crond status 命令

[root@localhost ~]# /sbin/service crond status

3.启动、关闭和重启、重新载入配置

执行以下命令:

[root@localhost ~]# /sbin/service crond start                          //启动服务

[root@localhost ~]# /sbin/service crond stop                           //关闭服务

[root@localhost ~]# /sbin/service crond restart               //重启服务

[root@localhost ~]# /sbin/service crond reload                 //重新载入配置

4.创建保存备份文件的目录

[root@localhost ~]# mkdir /opt/tomcatbak                

这个是建立在opt目录下面的,备份文件将会存放在 /opt/tomcatbak文件夹之下。

5.创建/usr/sbin/tomcatbak文件

执行以下命令:

[root@localhost ~]# vi /usr/sbin/tomcatbak

直接添加需要执行的命令,保存退出。

说明:

/opt/tomcat5/webapps                   原文件的存放目录

/opt/tomcatbak                               备份文件的存放目录。

cmsadmin                                       原文件的名称

cmsadmin$(date +%Y%m%d).tar.gz

cmsadmin$(date +Y%m%d)是备份文件的名称+年月日,.tar.gz是文件类型

后两条命令同上,只是文件名称不同而已。最后保存退出。

6. 修改tomcatbak文件属性,使其可执行

执行以下命令:

[root@localhost ~]# chmod +x /usr/sbin/tomcatbak

7. 修改/etc/crontab

执行以下命令或用文件编辑器打开:

[root@localhost ~]# vi /etc/crontab

在下面添加如下内容:

36 17 * * * root /usr/sbin/tomcatbak                                //表示每天的17:36分执行备份

8. 重新启动crond

执行以下命令:

[root@localhost ~]# /etc/rc.d/init.d/crond restart

完成,这样就会在每天的17:36自动进行数据备份了。

恢复

首先进入到根目录之下

[root@localhost ~]# cd /

然后选择要执行的命令:

1、恢复cmsadmin执行:

[root@localhost /]# tar –xzvf /opt/tomcatbak/cmsadmin(+要恢复的文件的日期).tar.gz

2、恢复psc执行:

[root@localhost /]# tar –xzvf /opt/tomcatbak/psc(+要恢复的文件的日期).tar.gz

3、恢复english执行:

[root@localhost /]# tar –xzvf /opt/tomcatbak/english(+要恢复的文件的日期).tar.gz

最后重启Tomcat,数据恢复完成。

busybox下crond服务:

crond是一个服务,一个守护进程。crond 是linux用来定期执行程序的命令,crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。

crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。

在busybox下的usr/sbin执行下crond提示:crontab: chdir(/var/spool/cron/crontabs): No such file or directory

创建:#mkdir
-p /var/spool/cron/crontabs

然后编辑要执行的任务

#crontabs -e

0 */1 * * * /sbin/ntpdate 192.168.1.67 >/dev/null 2>&1 每隔一个小时更新下时间,不打印任何信息

最后,执行下

#./crond &

此时你会发现/var/spool/cron/crontabs下有一个跟用户名相同的文件,保存着要执行的任务。

ps下会发现cron进程已经启动!

抱歉!评论已关闭.