需求:在linux中定期重启一个tomcat服务
1:Shell脚本是Shell脚本[1]。 Shell脚本类似于Windows/Dos下的批处理。它是一种程序文件,预先将各种命令放入文件中,以方便一次性执行。主要是方便管理员设置或管理。但它比Windows下的批处理功能更强大,比用其他编程程序编辑的程序更高效。它使用 Linux/Unix 下的命令。
以上来自百度百科
其实说白了,脚本就是融入了shell语法的命令集合。我们可以通过执行.sh脚本文件来执行多个命令
2:下面是重启的例子(如果不懂shell的基本语法可以先了解一下)
a。在需要重启的项目同目录下新建一个.sh文件: [root@mufeng ~]# touch www.sychzs.cn
或者使用vi命令:[root@mufeng ~]# vi www.sychzs.cn
我的项目已root。当然你可以在任何地方创建这个文件,但这样它看起来更清晰,结构也更清晰。
具体内容如下:
注意:1.声明的环境变量中JAVA_HOME对应的是你自己的jdk路径
2。声明的环境变量中TOMCAT_HOME后面的对应的是你自己的项目路径
3。每次执行www.sychzs.cn命令后,杀死剩余进程然后启动服务非常重要。因为残留进程会占用越来越多的系统资源,即使重启后也无法正常访问项目
4。以上内容请勿复制。执行过程中第一行可能会报错: -bash: ./www.sychzs.cn: /bin/bash : badterpreter: No such file or directory
b。保存内容(:wq保存并退出),并赋予该文件执行权限:
[root@mufeng ~]# chmod +x www.sychzs.cn
c。测试执行:[root@mufeng ~]# ./www.sychzs.cn
执行结果如下:
d。检查tomcat服务是否启动成功:[root@mufeng ~]# ps -ef|grep tomcat
三:配置Linux定时任务crond
上面的脚本可以手动执行来重启服务,但如果希望定时自动执行,还需要配置定时任务crond
cron是Linux下的一个定时执行工具,无需人工干预即可运行作业。
打开定时任务的系统配置文件:[root@mufeng ~]# vi /etc/crontab
最下面一行是我自己添加的定时任务(需要执行的时候去掉前面的注释“#”)
*/1 * * * wed 代表每周三,每分钟执行一次
root 代表 root 用户
/root/www.sychzs.cn代表要执行的脚本路径
>> 表示执行信息的输出位置
/root/restartLog.txt代表存储执行信息的文件名
保存退出后,系统自动读取并加载。一分钟后,你会在根目录下看到多一个文件restartLog.txt,用于存储执行信息
查看里面的内容如下:
友情提醒:测试完成后,记得注释掉添加的定时配置,不然你的restartLog.txt文件会越来越大
"*"代表取值范围内的所有数字,
"/"代表"每隔",如每2分钟:*/2
"-"代表从某个数字到某个数字,
“,”分隔多个离散数字
具体时序配置可以参考这篇文章:https://www.sychzs.cn/liaobangxiang/article/details/72026925
https://www.sychzs.cn/ziliao/80818
至此,Linux中tomcat服务定时重启的功能就完成了;
-->