INFO: task mysqld:24715 blocked for more than 120 seconds. "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. mysqld D ffffffff80150939 0 24715 2442 24718 24712 (NOTLB) ffff81000fd03e18 0000000000000086 0000000000000074 ffffffff80225c04 00000000ffffffda 000000000000000a ffff810073667820 ffff810037e57860 00054ecb31e59901 000000000001991f ffff810073667a08 0000000700000000 Call Trace: [<ffffffff80225c04>] sock_aio_read+0x4f/0x5e [<ffffffff800646ac>] __down_read+0x7a/0x92 [<ffffffff80066ad0>] do_page_fault+0x446/0x874 [<ffffffff800a0b5f>]
[root@ktoplogapdev03 ~]# fdisk -l Disk /dev/xvda: 107.3 GB, 107374182400 bytes255 heads, 63 sectors/track, 13054 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System/dev/xvda1 * 1 131 1052226 83 Linux/dev/xvda2 132 4047 31455270 83 Linux/dev/xvda3 4048 6658 20972857+ 83 Linux/dev/xvda4 6659 13054 51375870 5 Extended/dev/xvda5 6659 9269 20972826 83 Linux/dev/xvda6 9270 11880 20972826 83 Linux/dev/xvda7 11881 12924 8385898+ 82 Linux swap / Solaris/dev/xvda8 12925
1. TABLE 생성 CREATE TABLE mytable ( no INTEGER NOT NULL, name CHAR(15) NULL ); 2. PRIMARY KEY 생성 ALTER TALBE mytable ADD ( PRIMARY KEY (no)); 3. FOREIGN KEY 생성 ALTER TABLE mytable ADD( FOREIGN KEY (no) REFERENCES name ); 4. PK RENAME ALTER INDEX SYS_C00555 RENAME TO PK_no; 5. FOREIGN KEY 는 물려있는 글중에 상위글이 지워지면 하위글도 지워지는 쿼리 ON DELETE CASCADE 추가. 미 추가시 삭제할때 에러발생 ALTER TABLE mytable ADD( FOREIGN KEY (no) REFERENCES mytable on delete cascade );
# ================================================================================ # key_buffer : # 인덱스를 위한 버퍼크기, 키 버퍼의 크기는 공유된쓰레드의 크기이며 중복된 키를 자주 # 사용할 경우 속도를 높일 수 있고, 기준은 show status 명령을 했을 때 # Key_blocks_used를 체크해서 key_buffer 사이즈를 줄이던가 늘리던가 해야 한다. # 일반적인 key_buffer 의 크기는 Key_blocks_used*1024 로 잡으면 된다. # Key_reads 가 크다면, key_buffer_size 변수가 너무 작은 것이다. # 대용량 테이블일 경우 쿼리가 느리다면, 인덱스 버퍼 크기가 작아서 느릴 수 있으므로 # key_buffer 크기를 늘려 주어야 한다. # show status 명령에서 다음과 같이 계산되는 것이 key_buffer 설정이 적당한 것이다. # Key_reads/Key_read_request < 0.01 [ 0.00112318293327 ] # key_write/key_write_request = 1 [ 0.07631015
#!/bin/bash echo -n "디렉토리를 입력하세요(ex. /HOME) : " read DIR echo -n "기능명을 지정하세요(ex. AB01) : " read FUNC_NAME echo -n "오늘로 부터 몇일 이전의 파일을 삭제할까요?(ex. 7) : " read N_DAY PAST_DATE=$(date +%Y%m%d --date "$N_DAY days ago") for filename in $(find $DIR -type f -name "${FUNC_NAME}.*.txt") do FILE_DATE=$(echo $filename | awk -F. '{print $2}') if [ $FILE_DATE -lt $PAST_DATE ]; then rm -f $filename fi done #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# #!/bin/bash echo -n "디렉토리를 입력하세요(ex. /HOME) : " read DIR echo -n "기능명을 지정하세요(ex. AB01) : " read FUNC_NAME echo -n "몇일
sed로 특정 문자열을 포함한 라인 삭제하기 find 명령어를 조합하여 특정 문자열을 포함한 라인 삭제하기 find . -type f -name "*.php" -exec vi -c "%g/문자열/d" -c "wq" "{}" ;
# qmailanalog 사용하기 # 파일 다운로드 : 다운로드(클릭) tar xvfpz qmailanalog-0.70.tar.z cd qmailanalog-0.70 make make setup check # 기본 설치경로 : /usr/local/qmailanalog 설치경로를 변경할 경우 conf-home파일의 첫줄을 수정한다. # 설치완료 # 사용법 cat /var/log/maillog | awk '{$1="";$2="";$3="";$4="";$5="";print}' > /tmp/qmailLogTmp cat /tmp/qmailLogTmp | /usr/local/qmailanalog/bin/matchup | /usr/local/qmailanalog/bin/zoverall > /tmp/qmailLog_result /tmp/qmailLog_result의 파일을 열어보면 결과값을 확인할 수 있다. 이 다음부터는 직접 가공해보시기 바랍니다. # multilog를 이용할 경우 # 패치하기 # 패치파일 다운로드 : 다운로드(클릭) 패치 후 위와 동일하게 컴파일하면 된다. # 사용법 1. cat /var/log/qmail/current | /usr/local
chmod [옵션][퍼미션][대상 디렉토리 or 파일] 퍼미션 부분에는 000~777까지의 숫자로 권한을 줄수있다. r : 읽기 w : 쓰기 x : 실행 - : 권한없음을 뜻하며 권한은 총 9자리로 구성되어있다. 1~3자리는 소유자, 4~6자리는 그릅, 7~9자리는 그외 기타 사용자의 권한을 나타낸다. chown [소유자 계정].[소유그릅] [대상] 소유자와 소유그릅을 동시에 바꿀수 있다. 예 [root@web /]# cd /home [root@web home]# ll total 32 drwx------ 2 hky hky 4096 Jan 9 05:05 hky drwxr-xr-x 2 root root 4096 Nov 23 05:46 home2 drwx------ 2 root root 16384 Nov 14 05:20 lost+found [root@web home]# chmod 775 hky [root@web home]# ll total 32 drwxrwxr-x 2 hky hky 4096 Jan 9 05:05 hky drwxr-xr-x 2 root root 4096 Nov 23 05:46 home2 drwx------ 2 root root 16384 Nov
틸드~ 경로란홈디렉토리를 의미한다.예를 들어 hky 라는 사용자 계정을 추가하고 나면 /home 디렉토리 하위에 /hky 라는 사용자의 홈디렉토리가 생성된다. 이때..절대경로는 /home/hky 이다. root계정의 경우, 관리자 계정이므로 홈 디렉토리는 최상위 디렉토리인 "/" 디렉토리 하위에 생성된 "/root"디렉토리 이다. root@mynews25-dev:/home# ll합계 28drwxr-xr-x 5 root root 4096 1월 17 12:37 .drwxr-xr-x 22 root root 4096 1월 16 11:48 ..drwx------ 3 hky hky 4096 1월 17 12:37 hkydrwx------ 3 kosthb kosthb 4096 1월 13 2012 kosthb hky와 kosthb는 각 사용자의 홈디렉토리 이다./home/kosthb = ~kosthb/home/hky = ~hky 사용 예root@mynews25-dev:/etc# cd httpd/conf root@mynews25-dev:/etc/httpd/conf# pwd/etc/httpd/conf
[root@ ~]# uptime2:17:14 up 2 days, 13:25, 1 user, load average: 0.03, 0.05, 0.00 현재시각은 2:17:14 up 2days, 13:25 2일 13:25 동안 켜져 있었음 시스템에 로그인한 사용자수 1명 0.03, 0.05, 0.00 각각 1분, 5분, 15분 동안의 시스템 평균 부하율
- 예전에는 LILO(Linux Loader)를 사용했지만 요즘은 부트로더로 대부분 GRUB 사용 (SULINUX, CentOS, Redhat, Fedora 등) - GRUB은 윈도우 운영체제와 리눅스 운영체제 등에서 모두 사용 할 수 있는 멀티부트로더임 - MBR에 저장됨 * 시스템에 전원이 공급되면 가장 먼저 ROM-BIOS에서 시스템 제어권을 가지고 장착된 하드웨어에 대한 점검과 인식을 함 * 끝나면 ROM-BIOS는 하드디스크의 첫번째 부트섹트의 MBR에 있는 부트로더(GRUB)에게 제어권을 넘겨줌 * 그러면 GRUB은 시스템 부팅을 시작함 < GRUB 초기화면> : 여기서부터 GRUB에 의해 부팅될 OS가 선택되고 시스템제어권이 넘어감 # GRUB 초기화면에서 'c' 키 입력 : GRUB의 명령모드 - 서버가 부팅되지 않을 경우 부팅과정을 변경 또는 편집하기 위해 (bash쉘에서 사용했던 명령어와 유사) - 명령어 모드에서 초기화면으로 돌아가려면 'ESC" 키 # GRUB 초기화면에서 'e' 키 입력 : 부팅메뉴 편집 <부팅메뉴 편집화면> 편집모드에서 사용할 수 있는 키 b : 선택된 부트메뉴의 명령어로 시스템을 부팅
새로운 계정이 생성되면 생성되는 계정명과 동일한 이름의 그룹이 자동생성 되고, 자동생성된 그룹에 속하게 된다. groupadd 명령어로 생성되는 그룹은 기본값으로 GID가 500 이상부터 생성된다. (GID 499까지는 시스템용) # 그룹 생성 [root@~ ]# groupadd sgroup # GID를 지정하여 그룹 생성 [root@~ ]# groupadd -g 700 kgroup # /etc/group 파일의 내용에 새로운 그룹이 생성됨 [root@push06 ~]# tail -n 3 /etc/group kbs:x:502: sgroup:x:500: kgroup:x:700: # 시스템용으로 사용할 그룹 생성 [root@push06 ~]# groupadd -r systemgroup [root@push06 ~]# tail -n 2 /etc/group protoss:x:501: systemgroup:x:160: # 그룹 삭제 [root@push06 ~]# groupdel systemgroup