(友好提示:本文属于初级shell编程,高手可忽略此文) 在产品环境运行过程中,每天会切割产生按天计的日志文件,这些日志文件一般在过一定期限以后就没什么用处了,因此需要定期删除掉这些过期的日志文件。本文以CentOS下的Tomcat为应用环境基础,通过shell脚本的方式定时自动删除过期的Tomcat日志文件,以减少磁盘空间的占用、减轻管理员的日常工作。 一、shell脚本代码:#!/bin/bash
#
# filename: clearExpiredTomcatLogs...
Centos7下通过Shell实现Tomcat随机启动我们今天介绍的是在Centos7下通过Shell实现Tomcat随机启动的配置介绍,从centos7开始从systemd替换了service了,所以操作起来换是有点差别。具体就不多介绍了,开始我们今天的主要介绍, 我们的环境;Centos7下,然后创建独立分区,然后将JDK和Tomcat服务放在独立分区下,然后配置环境变量,最后通过编辑shell脚本实现开机Tomcat随系统启动。我们首先在独立分区DATA下创建一个java目录,主要存...
漏洞原因用户权限在conf/tomcat-users.xml文件中配置:<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users xmlns="http://tomcat.apache.org/xml"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"version="1.0"><role rolename="manager-gui"/><role rolename="manager-script"/><role rolename="manager-jmx"/><role rolename="manager-status"/><...
为了做集群测试,在每台机器上装了3个tomcat,每次发布项目的时候都要反复敲一些命令,重启tomcat之前先检查tomcat进程有没有停掉,没有还要手动kill该进程。 发布次数多了,操作就比较繁琐了,索性写个脚本一键发布,省时省力^_^。 把deploy.sh和restart.sh分别拷贝到3个tomcat的bin目录下,再用chmod +x给这两个脚本赋上可执行权限。 一键发布命令:./deploy.sh 项目war包 例如:./deploy.sh /home/test.war 说明:deploy...
上一篇文章介绍了Tomcat基于Filter的无文件webshell的demo。Filter的webshell很简单,只是实现了一个简单的命令执行。查找了网上的公开的webshell,发现基于Filter并且功能比较齐全的webshell基本没有。所以萌生了自己魔改冰蝎以适配tomcat内存马的想法。0x00 反编译冰蝎创建一个maven的项目。pom的依赖如下 <dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>tes...
在bin下面有9个sh文件,本文将逐步分析,今天就以version.sh为例 os400=false
#uname取操作系统名称 如Linux 如果为OS400的操作系统 特殊处理
case"`uname`"in
OS400*) os400=true;;
esac# resolve links - $0 may be a softlink
# 解析文件或者符号文件 得到真正文件
# /home/dragonsuc/bin/version.sh
# /home/dragonsuc/bin/tm ->/home/dragonsuc/bin/version.sh
#当以符号连接启动时 找到真正文件/home/dragonsuc/bin/version...
在使用Hudson的执行sh脚本的时候,如果sh脚本是一个后台进程,如 Tomcat 这样的服务。如果使用Hudson的默认配置,会发现这些sh 进程有启动的过程,但是不会常驻后台,看Hudson 输出的日志,发现Hudson在Job构建结束之后,kill所有未终止的衍生进程。 在Hudson另一wiki页面上进一步描述了Hudson杀掉衍生进程的情况。Hudson在执行Job时会设置一系列环境变量,这些环境变量将被Job衍生出的进程继承。Hudson在kill衍生进程的时候会查看...
#!/bin/bashecho -e "\n\n\n"#force kill flag,if equal [f] to force kill all
flag="HelloShell"if test $# -gt 0
thenflag=$1
fipids=`ps -ef|grep tomcat | grep -v "grep" | awk ‘{print $2}‘`
#pids=`ps -ef|grep -w tomcat | grep -v "grep" | awk ‘{print $2}‘`count=0
pid_num=0for pid in ${pids}
dopid_num=${pid}count=`expr ${count} + 1`
doneif test $[count] -gt 1
thenif test $flag = "f"thenfor pid in ${p...
运行之前将服务器弄成免ssh登陆。配置文件没有太大的改动 可以覆盖之前的配置profile 配置文件bak=/home/wsm/bak
webapps=/home/wsm/webapps/WSMMeasure
arry=192.168.68.29 192.168.10.147
newwar=1.war
deplypath=/home/wsm/deployscp.sh 拷贝相关war和脚本到远程服务上scp.sh#!/bin/bash
#拷贝war|deploy.sh|profile
#scp 1.war deploy.sh profile root@192.168.68.29:/home/wsm
scpdep(){
echo 'Start Scp ...'
scp $1 deploy...
使用Xshell查看tomcat实时日志时,出现中文乱码,但是日志文件里的中文不是乱码的,可能有两个原因,可能系统的i18n没设置支持中文,或是Xshell的编码格式不支持中文,解决办法如下:1、配置i18n系统文件vi /etc/sysconfig/i18n配置内容如下LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
2、重启系统reboot
3.如果还乱码...
修改tomcat server.xml为unpackWARs="false",然后maven生成.war之后,会有两个作用:1 不需要手动解压.war (tomcat在 存在同名的文件夹和同名的war时不会自动解压)2 修改jsp、css、js等不需要重启tomcateclipse选中Project->Build Automatically + maven命令 + unpackWARs="false" + tomcat重启命令,可做成两个shell,一个shell在只修改jsp、css、js时不重启tomcat,一个shell重启tomcat (第一个shell可以忽略,只要在eclipse点击...
背景:目前所有项目的部署路径都是/home/application_name/logs/catalina.out,每次查个log,都得进很深的目录,很麻烦,浪费时间。而且来来回回就几个命令。
需求:查看项目实时输出的日志脚本名称:cat_catalina_log.sh脚本运行方式:sh cat_catalina_log.sh tomcat-8108
代码:#!/bin/bash
tail -f /home/$1/logs/catalina.out
知识点:
shell 传参
日志切割的意义:在生产环境中,当我们使用tomcat服务时,如果用户量过多,有没有日志切割,将会产生很大的日志,一天的日志都能有好几个G大小。当我们需要查看日志记录时,非常麻烦。因此,日志切割是很有必要的!1.编写shell脚本vim fengelog.sh#脚本声明
#!/bin/bash
. /etc/profile
. ~/.bash_profile#定义日志文件目录
applog_path=/usr/local/apache-tomcat-app/logs
sapplog_path=/usr/local/apache-tomcat-sapp/logs#定义...
最近我在学生价买的低配服务器上部署了一个很吃内存的网页,导致 tomcat 内存经常溢出而崩溃。
于是我上网找了一些教程编写了一个简单的每天定时启动 tomcat 的脚本,特此记录一下
我的环境是 centos 71、 在某个目录新建一个 .sh 脚本文件vim tomcatStart.sh2、 在 tomcatStart.sh 文件里面写入一下代码#!/bin/bash
/etc/profile
tomcatPath="/usr/local/tomcat9"
binPath="$tomcatPath/bin"
echo "[info][$(date)]正在监控tomcat...
#!/bin/sh2 #Filename:starttomcat.sh3 #需要传入参数:$1 $2 $34 # $1:tomcat的home目录5 # $2:端口号6 # $3:启动tomcat超时时长7 #输出结果说明:8 # 101:启动成功9 # 104:启动超时
10
11 #写日志函数
12 log(){
13 echo `date +"%F %T"`" "$* >> /logs/tomcat.log
14 }
15
16 #开启tomcat函数
17 starttomcat(){
18 log "[command]:"$0" [parameters]:"$*
19 #启动tomcat前需要调用chec...