기본 포트 : 3306

1. mysql 설치시
./configure시 --with-tcp-port=20002

2. mysql 실행시
./mysqld_safe -P3306 &
Posted by 달팽이맛나
,

function setCookie( name, value, expiredays ){
 var todayDate = new Date();
 todayDate.setDate( todayDate.getDate() + expiredays );
 document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";"
 }


function getCookie( name ){
var nameOfCookie = name + "=";
var x = 0;

while ( x <= document.cookie.length ){
var y = (x+nameOfCookie.length);
if ( document.cookie.substring( x, y ) == nameOfCookie ) {
if ( (endOfCookie=document.cookie.indexOf( ";", y )) == -1 )
endOfCookie = document.cookie.length;
return unescape( document.cookie.substring( y, endOfCookie ) );
}
  
x = document.cookie.indexOf( " ", x ) + 1;
  
if ( x == 0 ) break;
}
 return "";
}
Posted by 달팽이맛나
,

유용한 vi명령어

LINUX/기본 2009. 4. 13. 17:13

삽입
I: 줄의 제일 앞에서 입력
A: 줄의 제일 끝에서 입력

콤보command
4w: 4단어 skip후 이동
4b: 4단어 skip후 이동
4j,h,k,l: 커서이동시 지정한 수만큼 건너뛰므로 이동을 좀 더 빨리 할 수 있다.

줄의 결합(J)
2줄이 있고, 2째줄을 1째줄 끝에 붙이고 싶다면, 1째줄에서 J를 입력하면 된다.

커서이동
0: 줄의 처음
^: 줄의 처음(글자가 시작되는 처음)
$: 줄의 끝
w: 단어단위 이동
e: w와 같으나 단어의 끝으로 이동
b: w의 반대방향으로 이동
H, M, L: 커서를 화면 상,중,하로 이동

검색(/후 검색할 단어입력)
n: 뒤로 검색
N: 앞으로 검색

매크로
ab aa aaaa: aa를 입력하면 aaaa로 자동변환

치환
s/pattern/replace:   현재줄의 첫번째 matching pattern치환
s/pattern/replace/g: 현재줄의 모든 matching pattern치환
%s/pattern/replace/g:  모든 줄의 치환
line,lines/pattern/replace: 해당 범위의 치환

저장
w>> file: 지정한 파일에 추가

윈도 split
vi내에서 위아래로 윈도가 분활되면서 2개의 파일을 동시에 open/편집할 수 있다.
ex-mode(:프롬프트상태)에서 'sp 파일이름'
윈도우가 전환은 Ctrl+ww

기타
1. d의 경우 command모드로 계속 남아 있으나 c는 삭제후 insert모드로 변환한다.
   cc, c$, cw등은 유용하게 사용될 수 있다.
2. .은 마지막 명령을 되풀이한다.

visual모드
윈도의 텍스트 에디터와 같이 선택부분이 반전되면서 복사,삭제등을 할 수 있다.
v로 visual모드로 집입하여 커서키를 사용해 원하는 부분을 선택한다.
복사는 y, 삭제/잘라내기는 d로 할 수 있다.

vi설정(vim설정)
자신의 홈디렉토리에 .vimrc를 생성하고 다음과 같이 할 수 있다.

set ai
set ts=4
set nu

각각 auto-indent, tab stop, numbering

윈도에서 작업중 vi에 붙여넣기시 계단현상발생 방지
:set paste

위치기억(UltraEdit의 ALT-F2, F2와 동일한 기능)
m{a-z}: 현재위치를 {a-z}로 북마크함
`{a-z}: 기억해둔 {a-z}로 이동. 보통 한개만 등록했다면 그냥 ``를 사용하면 된다.

레코딩
설정파일의 주석추가/삭제시 유용하게 사용할 수 있다.(이미 vi에 매크로기능이 있지만, 레코딩이 UltraEdit의 매크로기능과 유사하다.)
q{a-z}: {a-z}로 레코딩 시작. {a-z}만 가능한게 아니고 실제 {0-9a-zA-Z"}를 적기 번거로워 이렇게 표시만 한 것이다.
q:      레코딩 종료
@{a-z}: 레코딩 내용 적용(@@를 하면 바로 이전의 레코딩내용을 적용, N@@은 N으로 지정한 숫자만큼 적용)

ctags사용
쉘에서 ctags -R하여 모든 소스에 대해 인덱스 생성
vi를 실행하고 검색할 단어를 :ta tag로 지정하든지, 단어가 있는 곳에 커서를 둔다.
해당함수(오브젝트)가 정의된 곳으로 가기: Ctrl + ]
되돌아가기: Ctrl + t

여러 파일 편집
vi a.c b.c c.c와 같이 여러 파일을 지정한다.
args: 파일목록 표시
n: 다음파일 편집(vi시작지 지정하지 않는 파일은 'n 파일이름'이로 지정하면 된다.)
rew: 이전 파일 편집(vim에선 prev를 사용해도 된다)
*현재 편집중인 파일을 저장해야 다음 파일을 수정할 수 있음에 주의
(불편한 편집이 아닐 수 없다.)

여러줄을 주석으로 처리할때
10줄을 주석기호 #을 사용하여 주석처리하려면 다음과 같이 하면 된다.
우선, 첫째줄에 #를 붙이고, 두째줄로 넘어와 9.를 입력하면 된다.
.(period)는 마지막에 수행한 명령어를 반복하는 명령이다.
Posted by 달팽이맛나
,



시스템의 주기적인 cron작업의 설정, 수정

사용방법

crond 데몬이 실행상태에 있어야 하며
/etc/rc.d/init.d/crond 스크립트에 의해 시작,종료,재시작
/etc/rc.d/init.d/crond start
/etc/rc.d/init.d/crond restart
/etc/rc.d/init.d/crond stop

사용자 지정
etc/cron.allow -> root이외의 사용자도 설정할수 있다.
이 파일을 생성하게 되면 root도 이 파일에 등록해야 한다.
etc/cron.deny -> 사용 거절할 사용자 목록

cron 목록 보기

crontab -l 설정 목록
crontab -e 설정 수정 vi에디터로 실행 -> /var/spool/cron/root 파일을 연 것이다.

cron 생성하기

 첫번째  분. 0~59분
 두번째  시. 0~23시
 세번째  일.1~31일
 네번째  월.1~12월
 다섯번째  요일.1:월, 2:화~7,0:일요일
 여섯번째  실행할 명렁어

"*" : 모든 숫자
"-" : 기간(1-12)
"," : 가각의 숫자 (5,7,9)

cron 삭제 하기

root의 권한으로 root의 cron 삭제
root로 로그인 -> crontab -r

root의 권한으로 일반사용자의 cron 삭제
root로 로그인 -> crontab -u 계정명 -r

사용자의 권한으로 일반사용자의 cron 삭제
kwkim(일반사용자 계정)의 권한으로 -> crontab -r

kwkim의 cron 삭제 -> /var/spool/cron/kwkim파일이 삭제

 


Posted by 달팽이맛나
,



$stime = ($_GET['stime'] == "")?date("Y-m-d"):$_GET['stime'];
$etime = ($_GET['etime'] == "")?date("Y-m-d"):$_GET['etime'];

// 시작날짜와 종료 날짜의 기간 계산
$intStime = substr(str_replace("-","",$stime),0,8);
$intSyear = substr($intStime ,0,4);
$intSmonth = substr($intStime ,4,2);
$intSday = substr($intStime ,6,2);

$intEtime = substr(str_replace("-","",$etime),0,8);
$intEyear = substr($intEtime ,0,4);
$intEmonth = substr($intEtime ,4,2);
$intEday = substr($intEtime ,6,2) ;

$intStime = mktime(0,0,0, $intSmonth , $intSday , $intSyear );//타임스탬프로 변환
$intEtime = mktime(0,0,0, $intEmonth , $intEday +1, $intEyear );

$strDay = ($intEtime - $intStime ) / 86400;
$strDaycnt = floor($day); //두 날짜 사이의 기간

Posted by 달팽이맛나
,