728x90

WORK_DIR 은 현재 스크립트 파일 디렉토리
FILE_DIR 은 파일 검색하는 디렉토리
BACK_DIR 은 FILE_DIR 디렉토리 내의 데이터 이동 디렉토리이다.
============================================================================================
WORK_DIR=/B_PBS/ShFiles
FILE_DIR=/B_PBS/SrcFiles/AITAS
BACK_DIR=test


#pbs_daily.prm 파일안에 있는 InputFileName 글자가 있는 라인을 읽는다. 즉, InputFileName=20120101 형식으로 되어 있는 프로퍼티 값을 읽기위한 것이다.
param=`grep InputFileName /B_PBS/BWParam/pbs_daily.prm`
#substrig을 구현하여 프로퍼티의 값을 읽는다.
param=`expr substr $param 16 8`

BACK_DIR=${param}
mkdir ${FILE_DIR}/${BACK_DIR}

#패턴 목록 파일을 라인단위로 읽어 목록을 만든다.
file=${WORK_DIR}/data.txt

while read line
do

        #파일이 있는지 몰라 패턴(*)을 이용하여 찾아본다. 있는지 찾아본다는 얘기다. 여기서 놀란 것은 있으면 바로 변수에 정확한 파일명이 들어간다는 것에 놀랬다. 이렇게 편하다. 없으면 파일 존재여부 옵션인 -f 옵션에 의거하여 else 구문을 타게 된다.
        filename=${FILE_DIR}/${line}*_${param}

        if [ -f ${filename} ]
        then
                cp ${filename} ${FILE_DIR}/${BACK_DIR}/${line}${param}.dat
        else
                touch ${FILE_DIR}/${BACK_DIR}/${line}${param}.dat
        fi
done < "$file"

728x90

'프로그래밍 > 리눅스' 카테고리의 다른 글

svn 재시작  (0) 2023.01.17
톰켓 로그 분할 하는 방법  (0) 2022.08.25
리눅스 특정 폴더 용량 확인하기  (0) 2022.07.27
도커 개념 정리  (0) 2022.05.24
리눅스 파일명으로 검색  (0) 2020.03.12
728x90

$(document).ready(function() {
$(“#list”).jqGrid({ 선언부분 });
});

/ jqGrid url 전송 선언 : url, datype, mtype
url : ‘<c:url value="/" />/sample.do’, // url 선언
datatype : ‘json’, // 데이터 타입 지정
mtype : 'POST', // 데이터 전송 방식 지정
postData : {}, // url 보낼 값 설정, 검색조건 등의 초기값을 보낼 때 사용

// jqGrid 양식 선언부 caption, colNames, colModel, width, height 선언
caption : 'example Grid'; // caption 네임 설정 기본 미설정
colNames : ['컬럼1','컬럼2'], // 컬럼 헤더 설정
colModel : [{name : 'col1', index : 'col1', width : '100', align : 'center'},
{name : 'col1', index : 'col1', width : '100', align : 'center'}
],
width : 'auto', // 그리드의 넓이를 지정한다.
height : '100', // 그리드의 높이를 지정한다.

// jqGrid 추가 옵션 영역
loadonce : false, // ture로 설정할 경우 현재 조건으로 조회된 전체데이터를 DB를 다시 가져오지 않고 사용한다.
loadui : 'disable', // jqGrid 기본 로딩ui의 사용여부를 설정한다.
shrinkToFit : false, // Grid 전체 넓이에 맞춰서 자동으로 컬럼크기를 설정함 default:true
gridview : true, // 처리속도를 빠르게 해 줌. 뿌려 준 Grid 디자인을 재사용하게 하여 로딩시간을 개선
rownumbers : true, // rownum 표시여부
rownumWidth : 30, // rownum 컬럼 넓이 지정
rowNum : 15, // 한 화면에 표시할 행 개수를 지정한다.
rowList : [15,30,50,100], // rowList : rowNum을 선택할 수 있는 옵션을 지정한다.
pager : '#pager', // pager : 도구 모임이 될 div 태그를 지정한다.
viewrecords : true, // 데이터 건수를 pager에 보여줄 것인지를 설정
sortable : true, // 정렬 사용 여부 설정
sortname : 'regdt', // default Sort 조건
sortorder : 'desc', // sort 방법 설정
multiselect : true, // 그리드 좌측에 콤보박스 추가
cellEdit : true, // 셀수정 여부 설정. false로 설정할 경우 그리드 콤보 박스를 제외하고 전체 lock 상태가 된다.
cellsubmit : 'clientArray', // 수정된 사항이 local에 일단 저장된다는 의미임.
editurl : './example.jsp',
//footerrow : true, // summary footer 사용함
//userDataOnFooter : true,

// jqGrid 함수 선언 영역
beforeSelectRow : function(rowid){}, // 사용자가 클릭한 순간 발생하며 rowid 값을 전달한다. true, false를 return 값으로 반환하여 다음 이벤트 실행여부를 결정한다.
onSelectRow : function(rowid, status){}, // 행의 선택 버튼을 눌렀을 때 발생하는 이벤트 처리를 위해 사용된다.
onCellSelect : function(rowid, iCol, cellcontent){}, // cell을 선택할 때마다 필요한 처리를 실행하기 위해 사용된다. 클릭이벤트시 rowid, columnindex, cell데이터가 입력된다.
ondblClickRow : function(rowid, iRow, iCol){}, // cell을 더블클릭시 발생하는 이벤트 처리를 위해 사용된다.
onRightClickRow : function(rowid, iRow, iCol){}, // 셀에서 마우스 오른쪽 버튼을 눌렀을 때 발생하는 이벤트 처리를 위해 사용된다.
afterEditCell : function(id,name,val,iRow,iCol){}, // Cell 수정 후 이벤트
afterSaveCell : function(rowid,name,val,iRow,iCol){}, // cell 저장 후 발생한다.
afterInsertRow : function(rowid){}, // addrow 이벤트가 발생한 뒤에 수행되는 이벤트를 정의한다.
rowattr : function(rowData, currentObj, rowid){}, // 행이 추가되는 순간 발생되는 이벤트를 위해 사용된다.
beforeProcessing : function(data, status, xhr){}, // 서버로부터 데이터를 받은 후 화면에 찍기 위한 processing을 진행기 직전에 호출된다. 넘어온 data와 status, xhr 등을 받아 성공했는지 여부에 대해 알 수 있다.
beforeRequest : function(){}, // 서버로 데이터를 요청하기 직전에 호출된다.
onHeaderClick : function(gridstate){}, // 캡션에서 그리드 숨기기/펼치기 버튼을 눌렀을 때 이벤트 처리를 위해 사용된다.
onSelectAll : function(aRowids, status){}, // 헤더의 선택 버튼을 눌렀을 때 발생하는 이벤트 처리를 위해 사용된다.
onSortCol : function(index, iCol, sortorder){}, // 헤더의 컬럼명을 눌러 정렬하는 경우 호출된다.
onPaging : function(pgButton){}, // 사용자가 페이징 관련 버튼을 눌렀을 때 이벤트를 호출한다. next, prev, first, last 버턴을 눌렀을 때 이벤트 처리를 한다.
resizeStart : function(event, index){}, // 컬럼의 사이즈를 변경하기 위해 선택하는 경우 발생되는 이벤트를 위해 사용된다.
resizeStop : function(newwidth, index){}, // 컬럼의 사이즈를 변경하고 선택을 취소할 때 발생되는 이벤트를 위해 사용된다.
gridComplete : function(){}, // grid가 모든 작업을 완료한 이후에 발생한다.
loadBeforeSend : function(xhr, settings){}, // xhr에 의해 서버로 요청이 들어가기 전에 호출된다. 요청전 헤더값 설정 등에 사용된다. 만약에 이 함수가 false를 리턴하면 요청이 취소된걸로 본다.
loadComplete : function(data){}, // 서버에 요청을 보낸 후 완료되면 호출된다.
loadError : function(xhr, status, error){}, // 요청 실패시에 호출된다.

// jsonReader 선언 영역
jsonReader : {
repeatitems : false,
total :"total",
page :"page",
records :"records",
rows :"rows"
}

728x90
728x90

-- 같은이름의프로시저있으면삭제

DROP PROCEDURE IF EXISTS cursor_test;

 DELIMITER $$

 CREATE PROCEDURE cursor_test()

BEGIN

         -- 반복문변수선언

         DECLARE done INTEGER DEFAULT 0;

         -- 커서에서사용할변수선언

         DECLARE v_aaa varchar(10);

         DECLARE v_bbb varchar(10);

         -- 커서에서사용할Select 테이블선언

         DEClARE openCursor CURSOR FOR SELECT aaa, bbb FROM testTable;

 

         -- 반복문핸들러선언

         DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = true;

 

         -- 커서오픈

         OPEN openCursor;

 

                  -- 반복문시작

                  read_loop: LOOP

 

                           -- 커서에서데이터가져옴

                           FETCH openCursor INTO v_aaa, v_bbb;

 

                           -- 반복문종료시조건

                           IF done THEN

                                   LEAVE read_loop;

                           END IF;

 

                           -- 조건에맞는데이터데이터찾아서변수에임시저장

                           Select @codeName := codeName  From codeTable Where codeCode = v_bbb;

 

                           -- 테이블에저장

                           insert into `insertTable` (`iCode`, `iCodeName`) values(v_bbb, @codeName);

 

             -- 반복문끝

                  END LOOP read_loop;

 

         -- 커서해제

         CLOSE openCursor;

END$$

DELIMITER ;

 -- 프로시저실행

CALL cursor_test();

728x90

'프로그래밍 > MS_SQL' 카테고리의 다른 글

MSSQL 테이블 COMMENT 보기  (0) 2015.04.29
MSSQL IDENTITY 값 재 설정  (0) 2015.04.27
MSSQL 자동 증가 시드값 가져오기  (0) 2015.04.27
sqlexpress 백업 및 복원  (0) 2015.04.24
mssql 파일 크기 줄이기  (0) 2015.04.14
728x90

아래 명령으로 폴더별 용량을 확인 할 수 있다.

du -sh /폴더명/* 

728x90
728x90

 create profile 명령을 사용하여 로그인을 시도할 경우에 허용된 실패횟수를 지정할 수 있을 뿐 아니라 유저계정이 잠금상태로 남아 있게 되는 시간도 지정할 수 있다.

 접속시에 일정 회수 이상 실패한 후 CONNECT를 시도하면 "ORA-28000: the account is locked"의 ERROR를 받게 된다.

 

SELECT USERNAME,
             ACCOUNT_STATUS,
             TO_CHAR(LOCK_DATE,'YYYY.MM.DD HH24:MI') LOCK_DATE          
    FROM DBA_USERS;

 

OE 계정의 경우 LOCKED 이면서 EXPIRED 되어 있으니 우선 아래의 명령으로 LOCK을 풀어야 하는데 ALTER USER 명령을 사용한다.

 

ALTER USER OE ACCOUNT UNLOCK;

 

SELECT USERNAME,
             ACCOUNT_STATUS,
             TO_CHAR(LOCK_DATE,'YYYY.MM.DD HH24:MI') LOCK_DATE          
    FROM DBA_USERS
  WHERE USERNAME = 'OE';

 

마지막으로 EXPIRED를 풀어야 하는데, 오라클의 관리자 계정으로 로그인 후

ALTER USER OE IDENTIFIED BY OE;

 

SELECT USERNAME,
             ACCOUNT_STATUS,
             TO_CHAR(LOCK_DATE,'YYYY.MM.DD HH24:MI') LOCK_DATE          
    FROM DBA_USERS
  WHERE USERNAME = 'OE';

 

 

728x90

'프로그래밍 > Oracle' 카테고리의 다른 글

오라클 락 해제하기  (0) 2022.07.19
오라클에서 COMMENT 다는 법  (0) 2019.04.24
오라클 테이블스페이스 생성  (0) 2019.04.04
오라클 분석함수  (0) 2016.05.04
oracle hr 사용자 unlock  (0) 2016.01.25
728x90

 create profile 명령을 사용하여 로그인을 시도할 경우에 허용된 실패횟수를 지정할 수 있을 뿐 아니라 유저계정이 잠금상태로 남아 있게 되는 시간도 지정할 수 있다.

 접속시에 일정 회수 이상 실패한 후 CONNECT를 시도하면 "ORA-28000: the account is locked"의 ERROR를 받게 된다.

 

SELECT USERNAME,
             ACCOUNT_STATUS,
             TO_CHAR(LOCK_DATE,'YYYY.MM.DD HH24:MI') LOCK_DATE          
    FROM DBA_USERS;

 

OE 계정의 경우 LOCKED 이면서 EXPIRED 되어 있으니 우선 아래의 명령으로 LOCK을 풀어야 하는데 ALTER USER 명령을 사용한다.

 

ALTER USER OE ACCOUNT UNLOCK;

 

SELECT USERNAME,
             ACCOUNT_STATUS,
             TO_CHAR(LOCK_DATE,'YYYY.MM.DD HH24:MI') LOCK_DATE          
    FROM DBA_USERS
  WHERE USERNAME = 'OE';

 

마지막으로 EXPIRED를 풀어야 하는데, 오라클의 관리자 계정으로 로그인 후

ALTER USER OE IDENTIFIED BY OE;

 

SELECT USERNAME,
             ACCOUNT_STATUS,
             TO_CHAR(LOCK_DATE,'YYYY.MM.DD HH24:MI') LOCK_DATE          
    FROM DBA_USERS
  WHERE USERNAME = 'OE';

 

 

728x90

'프로그래밍 > Oracle' 카테고리의 다른 글

오라클 락 해제하기  (0) 2022.07.27
오라클에서 COMMENT 다는 법  (0) 2019.04.24
오라클 테이블스페이스 생성  (0) 2019.04.04
오라클 분석함수  (0) 2016.05.04
oracle hr 사용자 unlock  (0) 2016.01.25
728x90
[jquery core]
jQuery( selector, [ context ] )
 - $("input:radio", document.forms[0]);
 - $("div", xml.responseXML);
 - $('span', this) == $(this).find('span')
 
jQuery( element )
 - $("div")
 
jQuery( elementArray )
 - $("div > p")
 
jQuery( html, [ ownerDocument ] )
 - $("<div/>", {
                 "class": "test",
                 text: "Click me!",
                 click: function(){
                     $(this).toggleClass("test");
                 }
}).appendTo("body");
 
 
jQuery( callback )
 - jQuery(function() {} ); == jQuery(function($) { });
 
jQuery.noConflict(); :많은 자바스크립트 라이브러리가 $ 변수명을 사용한다. 
                     jQeury에서 $가 alias로 사용되기 때문에 jQuery.noConflict(); 구문은 jQuery에서 $를 사용하지 않겠다는 의미이다.
                     noConflict()를 호출하고서 $를 사용하는 방법
        jQuery.noConflict();
                        (function($) { 
                            $(function() {
                                // more code using $ as alias to jQuery
                             });
                         })(jQuery);
 
 
[Basic]
jQuery('*') : 모든 Element를 선택, 즉 전체를 선택
 (예) jquery("*").css("border", "1px");
 
jQuery('.class') : css 클래스명이 같은 Element를 선택
 (예) <div class="item"/> -> jquery(".item").css("height", "100px");
 (예) jquery(".item .color").css("height", "100px"); //css 클래스를 복수개로 설정하면 해당하는 element가 선택됨
 
jQuery('element') : element명과 같은 Element를 선택
 (예) ("div") 처럼 태그명을 직접 넣을 수 있다.
 
jQuery('#id') : html 태그의 id가 같은 Element를 선택 (id는 한개만 존재하므로 한개만 선택됨)
 (예) <div id="myDiv">id="myDiv"</div> -> jquery("#myDiv").css("border","3px solid red");<
 
jQuery('selector1, selector2, selectorN') : 다중 셀렉터 (예) $("div,span,p.myClass")
 
[Basic Filter]
jQuery(':animated') : 애니메이션되고있는 Element를 선택
 
jQuery(':eq(index)') : index번째의 Element를 선택, Zero-based index
 (예) jQuery('div:eq(2)') 라고 할 경우 3번째  div요소를 의미한다.
 
jQuery(':gt(index)') : index 번째 Element보다 큰 모든 Element를 선택, Zero-based index
 (예) jQuery('div:gt(2)') 라고 할 경우 2보다 큰 div요소이므로 3번째부터 선택된 div요소 모두를 의미한다.
 
jQuery(':lt(index)') : index 보다 작은 Element를 선택, Zero-based index
 (예) jQuery('div:lt(2)') 라고 할 경우 2보다 작 div요소이므로 1,2번째 div요소를 의미한다.
 
jQuery(':even') : index 짝수번째 Element를 선택, (index의0, 2, 4...), zero-indexed
 
jQuery(':odd') : index 홀수번째 Element를 선택, (index의 1, 3, 5...), zero-indexed  
 (예) $("tr:odd").css("background-color", "#bbbbff");
 
jQuery(':not(selector)') : 해당 selector가 아닌 Element를 선택
 (예) $("input:not(:checked)").css("background-color", "yellow");
 
jQuery(':header') : h1, h2, h3과 같은 Element를 선택
 
jQuery(':first') : 첫번째 Element를 선택
 (예) jQuery('div:first') == $("div:eq(0)") == $("div:lt(1)")
 
jQuery(':last') : 선택한 Element중 마지막 Element를 선택
 
[Child Filter]
jQuery(':first-child') :  부모 Element의 첫번째 자식 Element를 선택
 (예) jQuery(':first-child') == jQuery(':nth-child(1)')
 (예) jQeury("tr td:first-child") => tr이 복수개일 경우 그중 자식요소 중에 td의 첫번째 요소들이 선택된다.
 
jQuery(':last-child') : 부모 Element의 자식 Element중 마지막 Element를 선택
 (예) jQeury("tr td:last-child") => tr이 복수개일 경우 그중 자식요소 중에 td의 마지막 요소들이 선택된다.
 
jQuery(':nth-child(index/even/odd/equation)') : 부모 Element의 자식 index번째의 Element, index는 1부터 시작 
 (예) $("ul li:nth-child(2)") // ul 요소의 2번째 li요소들을 선택
 (예) $("ul li:even") // ul 요소의 짝수번째 li요소들을 선택
 (예) $("ul li:odd") // ul 요소의 홀수번째 li요소들을 선택
 (예) $("ul li::nth-child(3n)) // 3*0, 3*1, 3*2, ... 번째 요소들을 선택
 
jQuery(':only-child') : 부모Element의 자식Element가 딱 한개만 존재하는 Element
 (예) 
  <div>
    <button>Sibling!</button>
    <button>Sibling!</button>
  </div>
 
  <div>
    <button>Sibling!</button>
  </div>
 
  // 위의 첫번째 div는 button 자식요소가 2개이므로 선택에서 제외되고 아래 button이 한개인 button만 선택된다.
  $("div button:only-child").text("Alone").css("border", "2px blue solid"); 
 
[Filter]
jQuery(':contains(text)') : text를 포함한 Element를 선택
 (예) $("div:contains('John')") -> <div>~~~~ John~~~</div> 처럼 자식 Content에 John을 포함한 요소들이 선택된다.
 
jQuery(':empty') : <td></td>, <span/> 처럼 content가 없는 Element를 선택, 반대는 :parent
 (예) $("td:empty").text("Was empty!")
 
jQuery(':has(selector)') : selector에 해당하는 요소를 자식요소로 포함하는 Element를 선택
 (예) $("div:has(p)") -> <div><p>Hello in a paragraph</p></div>
 
jQuery(':parent') : 텍스트를 포함하고 있고 선택한 부모 Element 
 (예) <tr><td>abcd</td><td></td></tr> // $("td:parent").fadeTo(1500, 0.3); // 이럴 경우 abcd만 선택한다.
 
[Attribute]
jQuery('[attribute|=value]') : value와 같거나 value + 하이픈(-) 으로 시작하는 Element
jQuery('[attribute*=value]') : % + value + %
jQuery('[attribute$=value]') : % + value
jQuery('[attribute^=value]') : value + %
jQuery('[attribute~=value]') : value와 단어가 같은 Element
jQuery('[attribute=value]')  : value와 같은 Element
jQuery('[attribute!=value]') : value와 다른 Element
jQuery('[attribute]') : 해당 attribute가 존재하는 Element (예) $("div[id]")
jQuery('[attributeFilter1][attributeFilter2][attributeFilterN]') : 다중 속성 셀렉터 (예) $("input[id][name$='man']")
 
[Form]
jQuery(':button') : <input type="button"/> 또는 <button />
jQuery(':checkbox') : <input type="checkbox"/>, jQuery(':checkbox') == $('[type=checkbox]'), $(':checkbox') == $('*:checkbox'), 보통 $('input:checkbox') 형태
jQuery(':checked') : 체크박스에 체크된 Element
jQuery(':selected') : 콤보박스에 선택된 Element
jQuery(':disabled') : <input name="email" disabled="disabled" />
jQuery(':enabled') : 활성화되어있는 Element (jQuery(':disabled') 과 반대 )
jQuery(':file') : <input type="file"/> $(':file') == $('*:file'), 보통  $('input:file') 형태
jQuery(':image') : <input type="image" />
jQuery(':input') : <input />, <textarea />, <select />, <button />
jQuery(':password') : <input type="password" /> , $(':password') == $('[type=password]'), $(':password') == $('*:password'), 보통 $('input:password') 형태
jQuery(':radio') : <input type="radio" />, $(':radio') == $('[type=radio]'), $(':radio') == $('*:radio'), 보통 $('input:radio') 형태 (예) $('input[name=gender]:radio')
jQuery(':reset') : <input type="reset" /> (예) $("input:reset")
jQuery(':selected') : <option selected="selected">....</option> (예) $("select option:selected")
jQuery(':submit') : <input type="submit" />, <button type="submit">Button type="submit"</button> 또는 <button/>,  단 <button/>은 브라우저마다 type="submit"은 기본이 아닐 수 있다.
jQuery(':text') : <input type="text" />, $(':text') == $('[type=text]'), $(':text') == $('*:text'), 보통 $('input:text') 형태
 
 
[Hierarchy]
jQuery('parent > child') : parent(부모)의 child(자식) Element를 선택
 (예) $("div > span") -> <div><span>test</span></div>
 
jQuery('ancestor descendant') : ancestor 하위의 모든 descendant에 해당하는 Element를 선택
 (예) $("form input") // form 태그 하위의 input 태그 모두를 선택
 
jQuery('prev + next') : prev Element 다음에 나오는 형제 Element를 선택
 (예) $("label + input").css("color", "blue").val("Labeled!")
 
jQuery('prev ~ siblings') : prev Element 다음에 나오는 모든 형제 Element를 선택
 (예) $("#prev ~ div").css("border", "3px groove blue");
 
[Visibility Filter]
jQuery(':hidden')
  (1) display:none; 인 것 // visibility:hidden or opacity: 0 은 보이는 것으로 간주
  (2) type="hidden" 인 것 
  (3) width:0; height:0; 인 것 
  (4) 부모 Element가 hidden 인 것 
 
jQuery(':visible') : jQuery(':hidden')의 정반대 
  (1) display:none; 가 아닌 것 // visibility:hidden or opacity: 0 은 보이는 것으로 간주
  (2) type="hidden" 가 아닌 것 
  (3) width:0; height:0; 가 아닌 것 
  (4) 부모 Element가 hidden이 아닌 것 

 

728x90
728x90

== 백업 ==

DB전체 덤프
mysqldump -u[아이디] -p[비밀번호] -all-databases > [저장될 파일명]

DB만 덤프
mysqldump -u[아이디] -p[비밀번호] [디비명] > [저장될 파일명]

테이블 구조만
mysqldump -u[아이디] -p[비밀번호] --no-data [디비명] [테이블명] > [저장될 파일명]

테이블구조를 제외한 데이터만 덤프
mysqldump -u[아이디] -p[비밀번호] --no-create [디비명] [테이블명] > [저장될 파일명]

==복구 ==

덤프파일을 이용한 복구
mysql -u[아이디] -p[암호][디비명] < [파일명]

패스워드 동시 입력시 복구 안되면
mysql -u[아이디] -p[공백][디비명] < [파일명]

출처: https://damduc.tistory.com/96 [My Trace:티스토리]

728x90

'프로그래밍 > 웹서버' 카테고리의 다른 글

jenkins 셋팅  (0) 2022.07.06

+ Recent posts