`
shixiaomu
  • 浏览: 382912 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

shell-脚本-比较jar-md5sum

 
阅读更多
#! /bin/sh
   
#get_current_time
export JAVA_HOME=/opt/jdk1.6.0_10/
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH
   
date=`date "+%Y-%m-%d-%H:%M:%S"`
   
Root="/data/dxm/"
   
   
jmapends=$Root$date"_jmap.txt"
jstackends=$Root$date"_jstack.txt"
jstateends=$Root$date"_jstate.txt"
   
   
   
   
   
#start to register the jmap message
echo "start to register the jmap to "$jmapends
jmap -histo:live `jps|grep Resin |awk 'NR==1'|awk '{print $1}'` > $jmapends
   
sleep 2
   
#start to register the jtack message
echo "start to register the jstack to "$jstackends
jstack -l `jps|grep Resin |awk 'NR==1'|awk '{print $1}'` > $jstackends
   
sleep 2
   
#start to register the jstate message
echo "start to register the jstate message to "$jstateends
jstat -gcutil -t -h20 `jps|grep Resin |awk 'NR==1'|awk '{print $1}'`  1000 20 > $jstateends



这个可以跑个定时器:

crontab -e

*/10 * * * * sh /timer/timer.sh  #每十分钟抓一次





第二个脚本:比较两个版本中jar包是否相同(有改变):

#! /bin/sh
   
#compare the lib files's md5 int file1  with those in file2
#if it only exist in file1 or one lib file's md5 is not equal i
#with the other then print it to the log.txt
   
LibPath1=$1
LibPath2=$2
date=`date "+%Y-%m-%d-%H:%M:%S"`
   
LOG=$date"_log.txt"
echo "-----------log file " $LOG
   
echo LibPath1: $LibPath1
echo LibPath2: $LibPath2
echo LibPath1: $LibPath1 \n >> $LOG
echo LibPath2: $LibPath2 \n >> $LOG
echo >> $LOG
echo >> $LOG
   
for File in `ls -f $LibPath1|grep jar `;
do
   
  MD5=`md5sum $1$File |awk 'NR==1'|awk '{print $1}'`
  File2=$LibPath2$File
  #echo "File2-----------------" $File2 
   
  #if the same lib file exist
  if [ ! -f "$File2" ]; then
   
        echo $File only exist LibPath1
        echo $File only exist LibPath1 \n >> $LOG
        echo >> $LOG
   
  #if the same file exist in directory2
  else
        MD52=`md5sum $File2 |awk 'NR==1'|awk '{print $1}'`
        if [ "$MD5" != "$MD52" ]; then
                echo the $File changed  \n >> $LOG
                echo >> $LOG
                echo the $File changed
        fi
   
  fi
   
done





上的那个文件为

md5compare.sh



运行是可以用以下命令运行:



./md5compare.sh  libpath1 libpath2

注意libpath1,libpath2 必须以"/" 结尾比如:

/opt/ROOT_2011-09-08-09:57:26/WEB-INF/lib/

而不是

/opt/ROOT_2011-09-08-09:57:26/WEB-INF/lib
分享到:
评论

相关推荐

    maven-shell-plugin-1.1.jar

    maven-shell-plugin-1.1.jar

    shell-perl-python等脚本文件加密工具

    "shell-perl-python等脚本文件加密工具"这个主题就涉及到这样一个工具——shc。 shc(Shell Script Compiler)是一款开源工具,它能够将Shell脚本转换成二进制可执行文件,从而达到加密和保护脚本源码的目的。shc的...

    经典shell-脚本实例

    实例学习shell脚本的使用,能更快的属性到shell,掌握shell

    Shell-脚本常用命令-文档.zip

    Shell脚本是Linux/Unix操作系统中的一个强大工具,它允许用户编写自动化任务,执行一系列命令,简化日常操作。本文将详细解析Shell脚本中的常用命令,帮助你更好地理解和利用这一强大的资源。 1. **基本结构** - ...

    Linux Shell编程-脚本运行与变量置换(MD笔记)

    Linux Shell编程-脚本运行与变量置换(MD笔记)

    Shell脚本批量启动jar和停止jar

    Shell脚本一键启动和停止jar,包含启动所有,启动指定的jar,停止所有,停止指定的jar,重启所有的jar

    sqlite-shell-win32-x86-3080200.zip

    "sqlite-shell-win32-x86-3080200.zip" 是SQLite针对Windows 32位平台的命令行接口(shell)的压缩包,版本号为3.8.2.0。这个压缩包包含了一个名为"sqlite3.exe"的可执行文件,它是SQLite Shell,也就是SQLite的...

    Shell脚本启动和停止springboot的jar包

    而Shell脚本则是Linux或Unix操作系统中进行批处理任务和自动化操作的脚本语言。在本场景中,我们有两个文件——`startup.sh`和`shutdown.sh`,它们是用于启动和停止Spring Boot应用的Shell脚本,其中还涉及到内存...

    Shell-脚本常用命令-文档.doc

    shell脚本 是一种shell编写的脚本程序。 shell编程跟Java、PHP 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执 行的脚本解释器就可以了。 为什么要学习和使用shell? Shell属于内置的脚本 程序开发的...

    shell-curl小例子

    shell-curl小例子,md5加密,shell时间处理

    gnome-shell-extension-installer, 用于搜索和安装 extensions.gnome.org的扩展的bash脚本.zip

    gnome-shell-extension-installer, 用于搜索和安装 extensions.gnome.org的扩展的bash脚本 GNOME shell-扩展安装程序一个bash脚本,用于从 extensions.gnome.org 安装和搜索扩展。 帮助Usage: gnome-shell-extension...

    struts-2.5.2-all所有jar包

    org.apache.felix.shell-1.4.3.jar, org.apache.felix.shell.tui-1.4.1.jar, org.osgi.compendium-4.0.0.jar, org.osgi.core-4.1.0.jar, oval-1.31.jar, plexus-container-default-1.0-alpha-10.jar, plexus-utils-...

    centos7下启动springboot项目启动脚本(shell脚本)

    前言:打包好的springboot项目,可以使用java -jar xxx.jar的方式启动。当出现多个springboot项目需要启动的时候,可以使用脚本启动的方式。这在springcloud项目的开发测试阶段尤为有用。以下展示启动脚本示例,过程...

    shell脚本的使用步骤及jar包

    下面我们将详细探讨Shell脚本的使用步骤以及与之相关的jar包。 一、Shell脚本的使用步骤 1. **创建脚本文件** 首先,我们需要创建一个文本文件,以`.sh`为扩展名,例如`myscript.sh`。这可以通过任何文本编辑器...

    android13 WindowManager-Shell.jar

    android13 WindowManager-Shell.jar

    shell-常用脚本.rar

    shell常用脚本:http、httpd、jdk1.7、jdk1.8、ip-location、kafka、lamp、nginx、nodejs、openssl、python、php、prce8、redis、rvm、tomcat、zabbix、nvm。。。。。。。。。。等等,不在逐一赘述,可以下载使用

    shell 批量启动,停止,重启jar脚本

    支持批量启动jar,停止jar,重启jar,同时也支持单个jar的启动,停止,重启. ./service.sh start all ./service.sh start homesaty

    reverse-shell-generator:简单的脚本来生成反向shell

    cd reverse-shell-generator 3. Install Dependencies: pip3 install -r requirements.txt 4. Run the Python-file: python3 main.py 通过脚本安装: chmod +x install.sh ./install.sh 完毕! 由SoftwareUser23...

    shell-启动应用程序的脚本

    shell脚本 shell脚本 shell脚本 shell脚本 shell脚本

    shell脚本运行java程序jar的方法

    shell脚本运行java程序jar的方法 shell脚本运行java程序jar的方法是指使用shell脚本来运行java程序jar包的过程。在本篇文章中,我们将详细介绍shell脚本运行java程序jar的方法,并解决在使用crontab定时任务时可能...

Global site tag (gtag.js) - Google Analytics