2013. 6. 26. 16:38

쉘스크립안에서 사용자 변경처리

쉘스크립트 명령어 실행시 특정 유저로 실행해야한다면

 

아래와 같이 하면 된다.

 

su - 사용자 -c "명령어1; 명령어2"

 

예) su - jboss -c "cd $jbosspath/$1;./startNode.sh notail"

root에서 jboss 계정으로 변경하여 실행처리

2013. 6. 23. 13:07

jboss 자동실행 등록

자동실행 등록 폴더 이동

# cd /etc/init.d


jboss 자동실행 스크립트 생성(상황에 맞게 사용)


vi jboss


#!/bin/bash


######################################################

#             Jboss Run Level Script                                             #

######################################################


#chkconfig enable

# chkconfig: 345 90 20

# description : Jboss Auto Start


export jbosspath=/jboss/jboss-eap-5.1/jboss-as/bin

function start(){

status=`ps -ef | grep java | grep "=$1" | awk '{print $2}'`

if [ e$status != e ];then

        echo "이미 $1 서버는 구동중입니다."        

else

cd $jbosspath

if [ "$1" = jenkins ];then

   nohup ./run.sh -b 0.0.0.0 -c jenkins -Dserver=jenkins -Djboss.service.binding.set=ports-01 -Dcom.sun.management.jmxremote.port=9999 >> /jboss/jboss-eap-5.1/jboss-as/waslog/jenkins/nohup.out &

elif [ "$1" = spring ];then

nohup ./run.sh -b 0.0.0.0 -c spring -Dserver=spring -Djboss.service.binding.set=ports-default -Dcom.sun.management.jmxremote.port=8888 >> /jboss/jboss-eap-5.1/jboss-as/waslog/spring/nohup.out &

else

echo "No Instance, Not Start"

fi

fi

}


function stop(){

pid=`ps -ef | grep java | grep "=$1" | awk '{print $2}'`

if [ e$pid != e ];

then

        echo "$1 서버를 종료합니다. 잠시 기다려주세요."

        kill -9 $pid

else

        echo  "$1 서버가 기동중이 아닙니다."

fi

}


case "$1" in

start)

echo "Starting Jboss"

start jenkins

start spring

;;

stop)

echo "Shutting Down Jboss"

stop jenkins

stop spring

;;

restart)

echo "Jboss Restart"

stop jenkins

stop spring


start jenkins

start spring

;;

*)

echo "Usage : $0 {start | stop | restart}"

exit 1

esac


exit 0


스크립트 실행권한

# chmod 755 jboss


스크립트 자동실행 등록

#chkconfig --add jboss

! 스크립트내에 문구 포함되어야함.


런레벨 폴더 이동 등록 확인

 /etc/rc3.d

 /etc/rc4.d

 /etc/rc5.d









'-=-= 컴퓨터 =-=- > WebServer & WAS' 카테고리의 다른 글

JBOSS DATASOURCE 설정  (0) 2013.05.08
JBoss URIEncoding 설정  (0) 2013.03.28
apache 재시작 오류  (0) 2013.03.17
톰캣 "web-app" must match 오류  (0) 2013.03.12
톰캣 쿠키 = 인식 옵션  (0) 2013.03.11
2013. 6. 22. 21:59

자바 설치

다운로드

http://www.oracle.com/technetwork/java/archive-139210.html <이전버전 링크


서버 종류 확인

$ getconf LONG_BIT


자바 설치 확인

$locate javac | grep bin


자바 실행 파일 권한주기

$ chmod 755 jdk-6u45-linux-i586.bin


설치 실행

./jdk-6u45-linux-i586.bin


시스템 자바 버전 변경처리 등록

alternatives --install /usr/bin/java java /java/jdk1.6.0_45/bin/java 100

alternatives --install /usr/bin/jar jar /java/jdk1.6.0_45/bin/jar 100

alternatives --install /usr/bin/javac javac /java/jdk1.6.0_45/bin/javac 100


시스템 자바 변경 메뉴 호출

/usr/sbin/alternatives --config java

/usr/sbin/alternatives --config javac


3 개의 프로그램이 'java'를 제공합니다.


  선택    명령

-----------------------------------------------

*  1           /usr/lib/jvm/jre-1.6.0-openjdk/bin/java

   2           /usr/lib/jvm/jre-1.5.0-gcj/bin/java

 + 3           /java/jdk1.6.0_45/bin/java


설치한 자바 경로 선택


자바 버전 변경확인


java -version

javac -version


둘다 버전 변경이 안되어있으면

/etc/alternatives/javac 심볼릭 링크를 변경처리한다.

rm -f javac

ln -s javac경로 javac


프로파일에 자바 등록

export JAVA_HOME=/usr/jdk/jdk1.6.0_43

export PATH=$PATH:$JAVA_HOME/bin


삭제처리시

alternatives --remove java /usr/jdk/jdk1.6.0_43/bin/java


참조사이트 : http://basic.tistory.com/entry/Fedora10-alternative%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-Java-%EB%B2%84%EC%A0%84-%EA%B4%80%EB%A6%AC

2013. 6. 16. 13:08

SVN 명령어 및 기본 디렉토리 생성 , 설정

 

SVN 기본포트  : 3690

 

SVN 실행

#svnserve -d -r {SVN 최상위 폴더}

 

SVN 포트 변경

#svnserve -d -r {SVN 최상위 폴더} --listen-port 3690 -> 7020

 

SVN 종료

# killall svnserve

 

SVN 확인

# ps -ef | grep svn

 

Svn 저장소 생성

 

# 일반 파일시스템으로 생성 

$ svnadmin create --fs-type fsfs /svn_source/Spring

    or

# berkeley db 형식으로 생성

$ svnadmin create --fs-type bdb /svn_source/Spring

 

SVN 저장소 권한 설정

# cd /svn_source/Spring/conf

# vi /svn_source/Spring/conf/svnserve.conf

anon-access = none

auth-access = write

password-db = passwd

주의 : 문자 앞에 공백 없어야함..공백있을경우 오류

 

패스워드 설정

# vi passwd

[users]

아이디 = 패스워드

 

기본 저장소 폴더 생성

Trunk, brances, tag

 

$ svn mkdir svn://localhost/Spring/trunk  --username 아이디

$ svn mkdir svn://localhost/Spring/branches --username 아이디

$ svn mkdir svn://localhost/Spring/tags --username 아이디

 

코멘트 작성

--이 줄 이하는 자동으로 제거됩니다--

 

A    svn://localhost/Spring/tags

 

폴더 생성시 Store password unencrypted (yes/no)? No 해도 계속 물어볼경우

한글로 아니오 입력하면 된다.

 

 

기본 디렉토리 생성하려고 하는데 아래와 같은 메시지가 나오는 경우

------------------------------------------------------------------------------------------------------------------------------------

svn: 로그 메시지를 구하기 위해 외부 프로그램을 사용할 수 없습니다.

SVN_EDITOR 환경변수를 설정하시거나 --message (-m) 또는 --file (-F) 옵션을 사용하세요.

svn: 환경변수 SVN_EDITOR, VISUAL, EDITOR 중 하나는 설정하거나, 'editor-cmd' 를 구성화일에 명시해야합니다.

------------------------------------------------------------------------------------------------------------------------------------

# cd ~

# vi .bash_profile 파일에 추가

SVN_EDITOR=/usr/bin/vim

export SVN_EDITOR

 

위와 같이 SVN_EDITOR 를 지정해준다.

 

---SVN 자동 실행 등록(CENT OS기준)

# vi /etc/rc.d/rc.local

# svnserve -d -r {SVN 최상위 폴더} 호스트명 또는 포트 추가

2013. 6. 13. 11:11

[JSP] getOutputStream() has already been called for this response

파일(엑셀) 다운로드시 위와 같은 오류 발생시 추가

 

out.clear();

out = pageContext.pushBody();

pageContext.forward(fileName);

 

 

JSP 기본 OutputStream 객체를 가지고 있음

스펙상 JSP 서블릿에서 처리하는게 원칙이지만

위와같이 하면 가능함.

2013. 6. 2. 08:39

자바 예외처리

package ExPakage;

public class ExClass {
	public static void main(String[] args) {
		try {
			ExClassCall ec = new ExClassCall();
			ec.a();
		} catch (Throwable e) {
			StackTraceElement[] ste = e.getStackTrace();
			
			StringBuffer sb = new StringBuffer();
			sb.append("ErrorName : "+ e.getClass().getName()).append("\n");
			sb.append("ErrorMessage : "+ e.getMessage()).append("\n");
			sb.append("FileName : "+ ste[0].getFileName()).append("\n");
			sb.append("ClassName : "+ ste[0].getClassName()).append("\n");
			sb.append("MethodName : "+ ste[0].getMethodName()).append("\n");
			sb.append("LineNumber : "+ ste[0].getLineNumber()).append("\n");
			
			System.out.println(sb.toString());
		}
		
	}
}

class ExClassCall{
	
	public void a() throws Throwable{
		
		System.out.println("a호출");
		
		//try {
			throw new Exception("A Exception");
		//함수에 throws가 있어도 예외처리를 하게되면 호출한 메임함수로 예외를 안던진다.
		//} catch (Exception e) {
		//	System.out.println("A Exception Catch : "+e.getMessage());
		//}
		
	}
	
}

결과

a호출

ErrorName : java.lang.Exception

ErrorMessage : A Exception

FileName : ExClass.java

ClassName : ExPakage.ExClassCall

MethodName : a

LineNumber : 32

'-=-= 컴퓨터 =-=- > JAVA' 카테고리의 다른 글

[Java 7] try-with-resources  (0) 2014.12.22
URLDecoder: Illegal hex characters in escape (%) pattern  (0) 2013.04.10
자바 이전 버전 링크  (0) 2013.03.22
자바 역컴파일  (0) 2013.01.02
로딩 타이머  (0) 2012.11.06