====== 디스크 속성정보 체크 ====== ===== 개요 ===== 시스템에 존재하는 DISK, CD, USB에 대한 정보를 확인한다. 본 기능은 전자정부 표준프레임워크 공통컴포넌트 요소기술 내에 구성되어 있다. ===== 설명 ===== ① 디스크 속성정보를 확인하는 기능 == 관련소스 == ^유형^대상소스명^설명^비고^ |Service|egovframework.com.utl.service.EgovSysInfo.java|시스템 정보 확인 요소기술 클래스| | |JSP|WEB_INF/jsp/egovframework/cmm/utl/EgovDiskAttrb.jsp|테스트 페이지| | == 메소드 == ^결과값^메소드명^설명^내용^ |ArrayList|getDiskAttribute()|디스크속성정보 조회|DISK, CD, USB에 대한 정보를 조회한다. 디스크명, 디스크속성, 디스크종류, 전체사이즈, 사용사이즈, 잔여사이즈 정보를 문자열정보로 LIST에 담아서 리턴| == Input == N/A == Output == * ArrayList 타입 : 속성정보 목록 {"hdisk1","disk_001","disk","2000000","1000000","1000000"} ===== 환경설정 ===== getDiskAttribute 메소드는 쉘스크립트의 실행결과를 활용하여 정보를 확인한다. 호출시 활용되는 쉘스크립트의 정보는 globals.properties에 등록한다. * globals.properties getDiskAttribute 메소드에 해당되는 쉘 스크립트 SHELL.UNIX.getDiskAttrb= /product/jeus/egovProps/prg/getDiskAttrb.sh * getDiskAttrb.sh (유닉스용 디스크속성 조회 스크립트) #$A = lspv | awk '{print $1}' #### DISK CHECK #### #for A in `lspv | awk '{print $1}' ` for A in `lsdev -Cc disk | awk '{print $1}'` do # NAME echo $A # ATTRIBUTE echo `lscfg -l $A | awk -F $A '{print $2}'` # TYPE echo "disk" # AUTHORITY # SIZE isEq="FALSE" for B in `lspv | awk '{print $1}' ` do if [ $A = $B ] then isEq="TRUE" fi done if [ $isEq = "TRUE" ] then # TOTAL SIZE lspv $A | grep "TOTAL PPs" | awk -F"(" '{print $2}' | awk '{print $1}' # USED SIZE lspv $A | grep "USED PPs" | awk -F"(" '{print $2}' | awk '{print $1}' # FREE SIZE lspv $A | grep "FREE PPs" | awk -F"(" '{print $2}' | awk '{print $1}' else echo "" echo "" echo "" fi done #### USB CHECK #### for A in `lsdev -Cc usb | awk '{print $1}'` do # NAME echo $A # ATTRIBUTE echo `lscfg -l $A | awk -F $A '{print $2}'` # TYPE echo "usb" # AUTHORITY # SIZE isEq="FALSE" for B in `lspv | awk '{print $1}' ` do if [ $A = $B ] then isEq="TRUE" fi done if [ $isEq = "TRUE" ] then # TOTAL SIZE lspv $A | grep "TOTAL PPs" | awk -F"(" '{print $2}' | awk '{print $1}' # USED SIZE lspv $A | grep "USED PPs" | awk -F"(" '{print $2}' | awk '{print $1}' # FREE SIZE lspv $A | grep "FREE PPs" | awk -F"(" '{print $2}' | awk '{print $1}' else echo "" echo "" echo "" fi done #### CDROM CHECK #### for A in `lsdev -Cc cdrom | awk '{print $1}'` do # NAME echo $A # ATTRIBUTE echo `lscfg -l $A | awk -F $A '{print $2}'` # TYPE echo "cdrom" # AUTHORITY # SIZE isEq="FALSE" for B in `lspv | awk '{print $1}' ` do if [ $A = $B ] then isEq="TRUE" fi done if [ $isEq = "TRUE" ] then # TOTAL SIZE lspv $A | grep "TOTAL PPs" | awk -F"(" '{print $2}' | awk '{print $1}' # USED SIZE lspv $A | grep "USED PPs" | awk -F"(" '{print $2}' | awk '{print $1}' # FREE SIZE lspv $A | grep "FREE PPs" | awk -F"(" '{print $2}' | awk '{print $1}' else echo "" echo "" echo "" fi done ===== 사용방법 ===== import egovframework.com.utl.sim.service.EgovSysInfo; //디스크명, 디스크속성, 디스크종류, 전체사이즈, 사용사이즈, 잔여사이즈 항목이 순차적으로 등록됨 ArrayList result = EgovSysInfo.getDiskAttribute(); ===== 참고자료 ===== N/A