mysql 대용량 파일 insert 하기 (load data) LOAD DATA INFILE '로드 할 파일명' INTO TABLE 테이블명FIELDS TERMINATED BY '|'LINES TERMINATED BY ' '(컬럼명 쭉~~~~~~~~~`); FIELDS TERMINATED BY '|' : 컬럼을 구분자 구분자 지정LINES TERMINATED BY ' ' : 라인(줄)을 구분해줄 구분자. 보통 지정ignore 1 line : 등록할 파일명의 첫줄을 무시하고 insert LOAD DATA INFILE '로드 할 파일명' INTO TABLE 테이블명FIELDS TERMINATED BY '|'LINES TERMINATED BY ' 'ignore 1 line (a, b, c, d, e, f`);
출처 : http://nacarat.tistory.com bash 쉘스크립트로 어떤 옵션 즉 스크립트의 동작을 변경하기 위한 플래그를 사용할 수 있도록 하고 싶다고 하자. 이러한 경우 ${#} 을 사용해 주어진 인수의 갯수를 얻거나 ${1:0:1} 을 사용해 최초 인수의 최초 문자가 「-」인지를 판정 하는 방법으로 직접 자신이 넘길수도 있지만, 자신이 넘기는 경우에는 주어진 옵션이 무엇인지, 인수를 요구하고 있는지 어떤지를 확인하기 위해 if/then 또는 case 등을 사용한 코드를 더할 필요가 있다. 그런데 그 후에 인수를 지정할 필요가 있는 옵션에 대해서 필요한 인수를 사용자가 쓰지 않았을 경우 루틴은 어떻게 될까? 혹은 「-ab」 와 같이 사용자가 2개의 옵션을 함께 지정해서 스크립트를 호출했을 경우에는? 그러한 경우에도 인수를 제대로 넘길수 있을까? 스크립트에 옵션이 필요한 경우는 자주 있는 일이므로 쉘스크립트의 옵션을 넘겨야 하는 경우가 자주 생긴다. 옵션을 넘기는 표준적인 방법은 없는 것일까? 옵션을 넘기는 표준적인 방법은 bash 명령어 「getopts」 를 사용하는 것이다. 아래에 getopts의 메뉴얼 페이지에 실려 있는 예를 약간 나타내
qmail에서 아래와 같은 로그를 보았을때 퍼미션과 소유권을 확인하면 된다. Nov 21 08:24:51 mail3 pop3d: Connection, ip=[xxx.xxx.xxx.xxx] Nov 21 08:24:51 mail3 pop3d: chdir "/home/vpopmail/domains/domain.co.kr/lhyoung": Permission denied Nov 21 08:26:02 mail3 qmail: 1227223562.708787 warning: unable to stat mess/19/1338481 Nov 21 08:26:53 mail3 pop3d: Connection, ip=[xxx.xxx.xxx.xxx] Nov 21 08:26:53 mail3 pop3d: chdir "/home/vpopmail/domains/domain.co.kr/lhyoung": Permission denied Nov 21 08:27:07 mail3 pop3d: Connection, ip=[xxx.xxx.xxx.xxx]
Raid란.(redundant array of independent disk 혹은 redundant array of inexpensive disk)> 여러 개의 하드디스크에 일부 중복된 데이터를 나눠서 저장하는 기술이다. 복수배열독립디스크 라고도함.데이터를 나누는 다양한 방법이 존재하며, 이 방법들을 레벨이라 하는데, 레벨에 따라 저장장치의 신뢰성을 높이거나 전체적인 성능을 향상시키는 등의 다양한 목적을 만족시킬 수 있다. Raid는 여러 개의 디스크를 하나로 묶어 하나의 논리적 디스크로 작동하게 하는데 하드웨어적인 방법과 소프트웨어적인 방법이 있다. 하드웨어적인 방법은 운영체제에 디스크가 하나의 디스크처럼 보이게 한다. 소프트웨어적인 방법은 주로 운영체제 안에서 구현되며, 사용자에게 디스크를 하나의 디스크처럼 보이게 한다. Raid 0> 패리티(오류검출기능)가 없는 스트리핑 된 세트(적어도 두 개의 디스크). 개선된 성능에 추가적인 기억 장치를 제공하는 게 장점이지만 실패할 경우 자료의 안전을 보장 할 수 업다.디스크에서 실패가 일어나면 배열을 파괴하게 되는데, 이러한 파괴는 디스크를 많이 장착할수록 가능성이 더 크다. 하나의 단일 디스크 실패는
ps명령어현재 실행되고 있는 프로세스 목록을 보여준다 ps auxps auxwwww> aux옵션뒤에 www는 명령어 전체를 보여준다.(w 개당 보여줄수있는 가능 줄 수) USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.0 0.0 10368 692 ? Ss 2012 0:14 init [3] 의미VSZ : 가상메모리 용량 RSS : 프로세스에 의해 사용되는 실제 메모리 용량(Kbyte 단위)TTY : 프로세스의 제어 터미널STAT : 프로세스의 상태
* 확장모듈 :PHP에서 기본적으로 제공하는 함수 이외에 확장 가능한 함수를 포함하는 것 [출처]PHP 확장 모듈 추가 설치|작성자소화 php에서 사용하고 싶은 모듈 다운로드 (여기서는 ssh2 를 사용한다) [root@~]# tar xvfz ssh2-0.11.0.tgz [root@~]# cd ssh2-0.11.0 [root@~]# phpize (php가 설치된 경로의 /bin 안에서 phpize 실행, ex) /usr/local/php/bin/phpize) phpize 명령어 실행시 반응이 없으면, ① 설치가 안되었거나 ② path 설정이 잘 못 되었을때 [root@~]# ./configure [root@~]# make [root@~]# make install or .so 파일을 직접 복사 (make install이 .so파일을 모듈경로에 복사한다는 의미) php.ini 에 extension=ssh2.so 추가 아파치 재시작
CGI사용은 ScriptAlias로 지정된 위치에서 사용하는게 기본이지만, ExecCGI를 사용하면 지정된 디렉토리내에서 CGI 사용 허용* AddHandler cgi-script 지시자에서 정의한 확장자만 유효 아파치는 ScriptAlias에 설정되어 있는 디렉토리 안의 모든 파일을 html이 아닌 실행파일로 인식한다. 따라서 html이나 이미지 파일 등도 제대로 인식하지 않고 실행하려 한다. 또한 ScriptAlias로 설정된 디렉토리에서는 "*.cgi","*.pl" 등의 파일확장자도 필요치 않다. ScriptAlias로 설정되지 않은 디렉토리에서 스크립트를 실행하려면 *.cgi,*.pl 등만 스크립트 파일로 인식시켜야 한다. 아파치가 이것을 인식할 수 있도록 하는 것이 AddHandler(httpd.conf) 이다. AddHandler cgi-script .cgi httpd.conf 파일 중에서 위와 같이 설정을 하면 서버의 모든 디렉토리에서 .cgi로 끝나는 모든 파일을 cgi로 인식하여 실행한다. 단, 주의할 점은 스크립트로 사용하려하는 디렉토리가 ExecCGI 옵션이 설정되어 있어야 한다는 것이다. 예)ScriptAlias를 이용한 일반적 설정(h
- 서버에 접속한 사용자의 접속정보 및 작업정보 [root@ ~]# w 13:10:50 up 21:37, 2 users, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 175.198.97.114 09:53 0.00s 0.17s 0.00s w root pts/1 175.198.97.114 11:56 1:13m 0.01s 0.01s -bash TTY : teletype JCPU : 모든 프로세스의 CPU 사용시간 PCPU : WHAT 필드에서 사용하는 CPU 사용시간
서버에 문제가 생겨 일반 사용자들의 접속을 못하도록 조치할때 유용 일반사용자 서버접속 금지하기 #/etc/nologin 파일을 생성한다. 파일이 생성된 이후부터는 일반사용자는 서버에 접속하질 못한다. 단순히 파일이 있는것 자체만으로 접속을 못하게된다. nologin 파일에는 서버점검중임을 적어두면 일반 사용자가 접속할때 nologin 파일안의 내용이 뿌려지게 된다. 단, root만은 접속할 수 있다. 하지만 일반 사용자로 로긴한 후 root로 접속한다면 일반사용자로 접속을 하지 못하기때문에 서버에 접속할 수 없는 문제가 생길 수 있다. root로만 접속이 가능함을 명심하기바란다.
EXT3-fs error (device sda2) ext3_journal_start_sb : Detected aborted journal EXT3-fs error (device sda2) ext3_journal_start_sb : Detected aborted journal EXT3-fs error (device sda2) ext3_journal_start_sb : Detected aborted journal 에러가 발생하면 읽기모드로 변경되면서 더이상 업데이트가 안된다. 해결방법 1. 해당장치를 unmount 2. debugfs -w -R "feature ^has_journal,^needs_recovery" /dev/장치명 파티션을 ext2모드로 바꾸어 줍니다. 3. fsck -y /dev/장치명 점검 4. tune2fs -j /dev/장치명 저널링을 활성화 5. mount
디렉토리 압축 zip -rF "저장파일명.zip" " 디렉토리 및 파일명" -r : 서브디렉토리까지 압축 -F : 한글파일을 포함하여 압축 압축해제 unzip 파일이름.zip
php 컴파일시 아래와 같은 에러 대처하기 -lcrypt -lnsl -lm -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt -o libphp5.la/usr/bin/ld: cannot find -lltdlcollect2: ld returned 1 exit statusmake: *** [libphp5.la] Error 1 문제ltdl 라이브러리를 찾을 수 없다는 에러임 아래 rpm을 설치해준다.lltdl-devellibtool-ltdl-devel