- 浏览: 434297 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (144)
- java (32)
- Flex (11)
- linux (15)
- 思维至上 (2)
- 生活 (4)
- spring2.5.5 (3)
- Design pattern (0)
- jdk1.6 (1)
- erlang (14)
- mysql (5)
- nginx (10)
- 互联网 (1)
- 用户体验 (0)
- jvm (8)
- hibernate (0)
- oracle (0)
- mvn (2)
- 23种常用设计模式详细讲解及实例 (1)
- nosql (1)
- mongodb (2)
- thrift (1)
- 负载均衡 (1)
- Objective-c (1)
- fuck (1)
- resin (3)
- log4j (2)
- android (1)
- jps (0)
- lucene (2)
- rsync (1)
- python (1)
- java性能分析 (1)
- spring (1)
- zookeeper (2)
- error (1)
- 算法 (1)
- hudson (1)
- svn (1)
- maven (1)
- svn server (2)
- swap linux (1)
- 协同过滤 (1)
- 邮件系统 (1)
最新评论
-
cheetah747:
我也遇到这个问题了,不过我是直接把第三方jar放到工程文件的l ...
JAVA NoClassDefFoundError: -
dxm1986:
hillfallshore 写道亲 你这是杜撰的小说吗?完全是 ...
面试有感 -
dxm1986:
mengda1027 写道从实习生到高级java到架构师,是在 ...
面试有感 -
dxm1986:
kljjack 写道一个编程十几年,每年看几十本技术书籍,技术 ...
面试有感 -
dxm1986:
轻指飞扬 写道呵呵,挺好玩的~ 我怎么感觉你招人不是很有诚意嘛 ...
面试有感
第一个 定时抓取服务器JVM相关信息 这个可以跑个定时器: crontab -e */10 * * * * sh /timer/timer.sh #每十分钟抓一次 第二个脚本:比较两个版本中jar包是否相同(有改变):#! /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
#! /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
发表评论
-
linux命令
2012-06-19 17:52 1381linux 命令 1 sed ... -
linux shell 发邮件
2012-04-16 14:03 1986... -
what the fucking code
2012-04-12 14:08 1191public class MemInfo<T ex ... -
linux:Shell中exec、source和shell script的区别
2012-03-28 18:35 1694linux:Shell中exec、source和s ... -
Jps介绍以及解决jps无法查看某个已经启动的java进程问题
2012-03-07 16:41 0Jps介绍以及解决jps无法查看某个已经启 ... -
java.lang.UnsupportedOperationException
2012-02-17 15:01 2137在使用Arrays.asList()后调用add,r ... -
ssh远程执行if语句
2012-01-10 17:06 2706ssh root@$IP "if [ -f $R ... -
设计模式
2011-10-09 11:05 94023种常用设计模式详细 ... -
什么是系统负载?uptime?
2011-09-20 10:35 1863什么是系统负载?uptime? (2010-10- ... -
JVM调优与监控
2011-09-17 10:57 1686随时记录,方便以后 ... -
A threadpool with limited cache
2011-09-14 10:13 1295As we all know ,we use the ... -
JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jsta
2011-09-10 13:03 1629Java 内存泄露监控工具(一) -- JV ... -
责任链
2011-09-05 18:26 962其实我一直都不太喜欢去死记硬背那些神马设计模式,但不得不说,你 ... -
定时抓取服务器状态
2011-09-02 20:54 1028#! /bin/sh #get_curre ... -
jstat的使用方法
2011-08-30 23:30 7688jstat的使用方法 http: ... -
查看Linux下某个进程里面线程数量
2011-08-30 23:17 4012查看Linux下某个进程里面线程数量 2011-04-0 ... -
JVM参数配置大全
2011-08-07 09:42 1246JVM参数配置大全[转] 2010-01-14 ... -
JAVA NoClassDefFoundError:
2011-07-24 05:31 49625NoClassDefFoundError: 我 ... -
单实例设计模式
2011-07-15 15:30 802今天讲一下单实例模式 A: public ... -
java关键字:Volatile,Transient,strictfp
2011-06-27 10:04 867Volatile修饰的成员变量 ...
相关推荐
本文档收集了250个实用的Shell脚本实例,涵盖了多个应用场景,包括系统管理、安全防护、数据库备份等核心知识点。 1. Dos攻击防范:通过监控Nginx的日志文件,检测到异常频繁的IP访问后,脚本会自动使用iptables...
比如,你可以使用shell脚本的PID在/tmp下创建一个唯一的临时文件。有时侯脚本需要检测所有运行的进程,它可以从进程列表中排除自身的子shell。 在bash中,子shell进程的PID存储在一个特殊的变量‘$$’中。这个变量...
这里有两个备份策略:单循环备份将所有数据库一次性备份到一个文件;多循环备份则按照数据库-表的方式,每个表单独备份到一个文件,这样有利于管理和恢复。脚本中使用了mysqldump命令进行备份,指定主机、用户、密码...
这里有两个脚本,分别实现了单循环和多循环备份。单循环脚本备份所有数据库,而多循环脚本则进一步按表进行备份。它们都使用mysqldump工具,通过指定的用户名、密码和主机名连接到MySQL服务器,获取数据库列表,...
在Shell脚本中,输入输出重定向和管道是两个重要的特性。输入重定向允许将数据从文件导向命令,而不是从键盘;输出重定向则可以将命令的输出保存到文件,而不是打印到屏幕。管道则可以连接多个命令,让前一个命令的...
1. 基本Shell脚本结构:每个Shell脚本通常以#!bin/bash作为开头,这行代码被称为shebang行,告诉系统用哪个解释器来执行该脚本。接着是一些注释和脚本的主体部分。 2. 循环结构:Shell脚本中常用循环包括for循环和...
这个脚本使用 MD5 值来检测两台服务器上文件的一致性。首先,将指定目录下的文件遍历出来,并使用 MD5sum 命令生成文件的 MD5 值,然后将结果写入到指定文件中。接着,使用 SSH 连接到另一台服务器,执行相同的命令...
"shell脚本与Makefile区别" shell 脚本和 Makefile 是两个不同的工具,它们都用于自动化构建和编译过程,但是它们有很大的不同之处。本文将详细介绍 shell 脚本和 Makefile 的区别。 首先,shell 脚本和 Makefile ...
本文介绍的“非常简单的Shell菜单脚本”就是一种基础的Shell脚本应用,它创建了一个简单的菜单系统,使用户能够通过选择编号来执行不同的功能,实现了人机交互的“傻瓜式”操作。 首先,脚本通过`#!/bin/sh`行指定...
为了使Java代码能够成功执行shell脚本,需要注意以下几点: - 确保Java运行环境有执行`sh`命令的权限。 - 脚本路径正确且Java程序有读取该文件的权限。 - `oracle`用户有执行`exp`命令和写入指定文件的权限。 总结...
下面我们将介绍两种让 Android 系统或 Android 应用执行 shell 脚本的方法。 方法一:通过修改 /system/init/init.c 在 Android 系统中,init.c 是一个核心文件,负责系统的启动和服务管理。我们可以在 init.c 中...
4、上述两种情况分别以两个shell函数实现,有入参,可任意调节入参。 5、这两个函数的第一个参数是文件列表,可以以shell数组变量来传递,数组的每个元素支持文件路径,支持正则表达式去匹配。 6、因为脚本要删除...
每个Shell脚本通常以`#!/bin/bash`或`#!/bin/sh`作为第一行,这被称为Shebang,用来指定执行该脚本的Shell解释器。 3. **变量**: 在Shell脚本中,可以定义和使用变量来存储数据。例如,`NAME="John"`,然后通过`...
下面我们将深入探讨sed和awk这两个在Shell脚本中常用的命令。 **sed(Stream Editor)** sed是一种流编辑器,它能够读取一行数据,对其进行处理,然后输出。它常用于文本替换、删除、插入和模式匹配等操作。例如,...
在IT行业中,Linux云计算与Shell脚本编程是两个至关重要的技术领域。Linux作为开源操作系统,广泛应用于服务器管理、云计算平台以及自动化任务执行等场景。Shell脚本,作为Linux环境下的命令解释器,允许用户编写一...
sy2visor1.0.txt为实验2写的初始shell版本,sy12内去掉了下载软件(install samba等命令),sy1-2保留了下载软件命令,这两个shell脚本是实验1加实验2合起来的可通过记事本打开看源代码。 使用的操作系统:Linux ...
Linux Shell脚本攻略是针对那些想要深入理解和应用Linux操作系统中的Shell脚本...通过这两个文档的学习,无论是初学者还是经验丰富的Linux用户,都能提升其在Shell脚本开发方面的技能,更好地利用Shell这一强大工具。
Shell脚本是Linux系统中的一种强大工具,它允许用户通过编写简单的命令行指令组合来实现自动化任务。在《shell脚本100例(最新版).pdf》这本书中,作者详细介绍了各种实用的Shell脚本案例,涵盖了从基础语法到高级...
通过以上分析,我们可以看到Shell脚本是一种强大的工具,能够高效地处理各种文本文件操作、目录管理任务以及简单的系统管理任务。掌握这些基础的脚本编写技巧对于任何Linux/Unix系统管理员来说都是非常有用的。