linux 设置tomcat定时重启

来源:互联网 发布:李雪健演技 知乎 编辑:程序博客网 时间:2024/04/25 18:39

系统背景:centos6.5

操作工具:Xshell5


1、先查看tomcat的bin文件下有没有restart.sh,若没有就创建此文件

(由于tomcat的启动、停止在bin文件夹,为了方便查找,所以将重启文件也放到bin文件夹)

[root@centos6 ~]# cd /soft/apache-tomcat-7.0.59/bin

[root@centos6 bin]# ll

若没有此文件则创建一个,命令为:

[root@centos6 bin]# touch /soft/apache-tomcat-7.0.59/bin/restart.sh

用vi命令创建(vi命令的作用是文件若存在则为编辑功能,若文件不存在则为新建功能)

[root@centos6 bin]# vi restart.sh

vi命令与touch命令的区别是:touch命令只是创建文件,vi命令是创建同时可以编辑内容。


2、用touch命令创建完后,查看

[root@centos6 bin]# ll



3、编辑restart.sh

用vi编辑器进行编辑,插入如下内容,然后保存退出

#!/bin/sh
/soft/apache-tomcat-7.0.59/bin/shutdown.sh
/soft/apache-tomcat-7.0.59/bin/startup.sh

#!/bin/sh
/soft/apache-tomcat-7.0.59/bin/shutdown.sh
sleep 1m
/soft/apache-tomcat-7.0.59/bin/startup.sh

sleep为间歇时间

4、给此restart.sh设置可执行权限

[root@centos6 bin]# chmod 755 restart.sh


5、查看有无定时任务

[root@centos6 bin]# cd /

列出当前的所有调度任务

[root@centos6 /]# crontab -l


6、不管有无,需要用crontab -e编辑定时任务

[root@centos6 /]# crontab -e

若是其他用户可用:[root@centos6 /]# crontab -u 用户名 -e


按a键进入编辑状态,输入例如:45      18      *       *       *       /soft/apache-tomcat-7.0.59/bin/restart.sh

注意:每一项中间用tab键隔开。

然后按esc键退出编辑状态切换至命令行状态,确认无误后用 :wq保存退出编辑页面。

若正常编辑完成会出现下图:




以上定时任务中的内容意思为:每天18点45分执行一次此任务(重启tomcat)


7、再次查看定时任务,及定时任务状态,并重启此服务

查看定时任务有没有新增或修改成功:

[root@centos6 /]# crontab -l



查看cron状态:

[root@centos6 /]# service crond status



重启cron服务:

[root@centos6 /]# service crond restart


注意:

停止定时任务的命令为:service crond stop
启动定时任务的命令为:service crond start



其他用到的知识点:

1、

使用的是chmod命令,
如果给所有人添加可执行权限:chmod a+x 文件名;
如果给文件所有者添加可执行权限:chmod u+x 文件名;
如果给所在组添加可执行权限:chmod g+x 文件名;
如果给所在组以外的人添加可执行权限:chmod o+x 文件名;


2、

chmod 777 restart.sh

777是所有权限

权限中数字含义:r是4  ,w是2  ,x是1

rwx的含义:r是可读,w是可写,x是可执行

例如:权限一:-rw-r--r--,权限二:drwxrwxrwx

两者拆分如drwxrwxrwx可拆分:d rwx rwx rwx,拆分后就很容易理解其意思。d是文件类型,后面三组为权限,rwx权限比较大,创建者、组成员、其他人这三组人都可以读、写、执行。

linux分为用户、用户组、其他(能访问服务器的匿名用户),root既是超级用户也是超级用户组。

用户分为普通用户、超级用户(root)、匿名用户。

网上大多都用777,为了安全考虑所以改为755,然后执行chmod 755 restart.sh后会覆盖777的权限。


3、

crontab用法:

crontab -u  //设定某个用户的cron服务,一般root用户在执行此命令的时候需要此参数。例如:crontab -u root -e

crontab -l  //列出某个用户cron服务的详细内容。

crontab -e //编辑某个用户的cron服务。

crontab -r //删除某个用户的cron服务。

crond是linux用来定期执行程序的命令。当安装完成系统洪,默认会启动此任务调度命令。crond命令按照定时内容会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。


4、

定时任务设置文件的写法:

可用crontab -e命令来编辑,编辑的是/var/spool/cron下对应用户的cron文件,也可以直接修改/etc/crontab文件,

用命令查看:cd /var/spool/cron && ls

修改该文件的具体格式如下:

Minute   Hour   Day  Month  Dayofweek  command

分钟        小时    天     月         天每星期       命令

0-59       0-23    1-31  1-12      0-6(0表示周天,1表示周一)          

其中各个字段用tab键隔开,每个字段的含义如下:

Minute   :每个小时的第几分钟执行该任务(可选)

Hour   :每天的第几个小时执行该任务(可选)

Day  : 每月的第几天执行该任务(可选)

Month  :每年的第几个月执行该任务(可选)

Dayofweek  :每周的第几天执行该任务(可选)

command:指定要执行的程序(必须指定)

对于不指定的字段用“*”来填补其位置。


若用到符号,需要明白几个符号的含义:

“*”代表取值范围内的数字;

“/”代表“每”;

“-”代表从某个数字到某个数字;

“,”分开几个离散的数字。

举例:

每月的10号及20号的3点30分执行重启命令:

30      3     10,20       *       *       /soft/apache-tomcat-7.0.59/bin/restart.sh

每天的8-11点的20分执行重启命令:

20      8-11     *       *       *       /soft/apache-tomcat-7.0.59/bin/restart.sh

每月每隔15天六点半执行一次重启命令:

30      6     */15       *       *       /soft/apache-tomcat-7.0.59/bin/restart.sh

每20分钟执行一次重启命令

*/15      *      *      *       *       /soft/apache-tomcat-7.0.59/bin/restart.sh

每天五点半执行重启命令

30      5      *       *       *       /soft/apache-tomcat-7.0.59/bin/restart.sh




1 0
原创粉丝点击