728x90
반응형

Server 20

[Redis] redis 정리

1. overcommit_memory 값 변경 https://charsyam.wordpress.com/2013/01/24/%EC%9E%85-%EA%B0%9C%EB%B0%9C-redis-vm-overcommit_memory-%EC%9D%84-%EC%95%84%EC%8B%9C%EB%82%98%EC%9A%94/#comment-1256 위 포스트를 보다가 overcommit_memory 값은 어디에 셋팅되어 있고, 어떻게 변경하는 것인지 궁금해서 구글링.아래와 같은 포스트 찾음. http://redis.io/topics/faq 현재 셋팅 된 값은 /proc/sys/vm/overcommit_memory 에 있음. http://redis.io/topics/admin 값 셋팅은 /etc/sysctl.conf 안에 v..

Server/Etc 2014.12.01

콘솔에서 특정 파일명 또는 특정 단어가 들어간 파일 찾기

오랜 기간 콘솔 작업을 안하다가 다시 콘솔에서 작업할 일이 생겼는데...그동안 잘 사용해 오던 명령어들이 생각이 안나서 구글링... 이왕 찾게 된 김에 정리해 둘 겸 적어 둡니다.필요하신 분들은 사용해 보세요 ㅎㅎ 1. 해당 파일 안에 특정 문구가 들어간 파일 찾기 (하위 디렉토리 포함) grep -rl "원하는 단어" pathex) [user@server redis]$ grep -rl "sysctl.conf" ././src/redis-server./src/redis.c./src/redis-sentinel./src/redis.o 요즘 redis를 보고 있는데 sysctl.conf라는 단어가 들어간 파일을 찾을 경우 위와 같이 하면 된다.위 내용은 src/redis-server 라는 파일 안에 sysctl..

Server/Shell 2014.12.01

MySQL Replication

Replication을 한개의 물리적 서버에서 테스트 하기 위해 설치할 필요가 있었다.이를 위해 다음과 같은 셋팅으로 설정하였는데, 자료 아카이빙을 위해 정리해 본다. 기본적인 것은 아래와 같다. 1. 한개의 서버에 두개의 MySQL을 설치한다.2. 각각 다른 Port를 사용한다.3. Master, Slave 설정을 하고 Replication을 시작한다. 자세하게 기술하면 아래와 같다. 1. configure를 통해 master mysql 설치 디렉토리를 지정한다. ex)./configure --prefix=/설치디렉토리/mysql_master --with-charset=utf8 --enable-assembler 2. make, make install을 통해 설치한다. 3. master db가 설치가 완..

Server/DB 2013.05.15

VIM Color 셋팅하기

vi 사용하면서 Color 셋팅에 매번 어려움을 겪어 온 터라 이번에 아예 정리를 해 놓을 심산으로 적어둔다. bash 기준이다. 1. 캐릭터셋 지정 .bashrc 파일에 캐릭터셋 지정을 한다. export LANG=ko_KR.UTF-8; export LC_ALL=ko_KR.UTF-8 2. xterm color 지정 .bash_profile 파일에 아래와 같이 선언한다. export TERM=xterm-color 3. vi 옵션 지정 syntax on set ai set cindent set ts=4 set sw=4 set hlsearch colorscheme koehler set background=light set encoding=utf-8 vi 옵션 중 colorscheme 부분이 vi의 color..

Server/Shell 2010.10.04

MySQL Erro Code 28이 리턴되는 경우

작업 서버에서 잘 되던 쿼리가 에러가 떨어졌다. 에러 코드 내용... ERROR 1030 (HY000): Got error 28 from storage engine 1030 에러코드를 메뉴얼로 찾아보니 별다른 내용도 없고, 위 메시지랑 같은 이야기만... ^^;; Error: 1030 SQLSTATE: HY000 (ER_GET_ERRNO) Message: Got error %d from storage engine 그래서 사내 DBA분에게 물어보고 확인해 본 결과 28 에러코드는 다음과 같은 방법으로 찾는 것이라고 한다. [xxxxxx bin]# ./perror 28 OS error code 28: No space left on device mysql이 설치된 디렉토리의 bin 디렉토리에서 perror라는..

Server/DB 2009.04.08 (2)

MySQL의 백업 및 복구

요즘은 MySQL Replication 기능을 이용해서 DB System을 구축하는 경우가 많다. 또한 MySQL DB를 사용하면서 백업은 보통 Replication Slave 단에 있는 백업 Server에서 별도로 받게 된다. 백업 서버에서 Dump로 받게 된 Data는 DML 쿼리로 된 text data이며, 이 데이터를 이용해서 신규 장비를 설치하던가, 아니면 기존 장비에 문제가 생겼을 시 복구를 하게 된다. 그런데 복구를 하더라도 Replication이란 문제로 인해 Master DB와 싱크를 맞추는 문제가 발생하게 된다. 따라서 백업 서버에서 백업을 받게 되는 경우, Master DB의 binary log의 포지션을 알아야지만 된다. 이럴 경우에는 다음과 같은 절차를 따라서 Dump를 받으면 된..

Server/DB 2008.12.15 (2)

[펌]tar 분할 압축 및 해제

출처 : http://www.fduser.org/blog/26 tar 압축의 경우 2G이상으로 압축이 되지 않기 때문에, 2G 이상으로 압축 을 하기위해서는 split란 명령을 같이 사용하면 됩니다.[압축 하기] ex) tar -zcvpf - /home | split -b 2048mb - home.tar.gz* /home : 압축할 디렉토리 * home.tar.gz 압축되어질 이름압축 결과는 tar.gza , tar.gzb 등으로 생성이 됩니다.[압축 풀기] tar.gza, tar,gzb 등으로 압축된 파일을 풀기 위해서는ex) cat home.tar.gz* | tar -zxvpf - 여러개의 tar.gz 파일들을 압축을 풀어야 할경우 tar -zxvf *.tar.gz 등의 방법으로 풀게 되면 에러가 발..

Server/Shell 2007.09.12

MySQL에서 대소문자 구별해서 쿼리하기

100만건이 조금 넘는 MyISAM 테이블이 있었다. 주소록 그룹 관련 테이블인데, 유저당 그룹 이름이 중복될 수 없었다. 그런데 기존에는 nhn과 NHN이 서로 같은 것이라고 생각해서 디비 내에서 대소문자가 틀린 경우에는 새로운 그룹을 추가하거나 기존 그룹의 이름을 수정할 수 없었다. 뭐 간단하게 BINARY로 해당 컬럼의 속성을 변경해도 되겠지만... innoDB도 아닌 MyISAM 테이블에 100만건이니 ALTER 한번만 쳐도 수시간은 잡아 먹을 듯 했다. 그래서 메뉴얼을 뒤졌더니... 역시나 ^^ BINARY라는 Cast Function을 쓰면 되는 것이었다. 복잡하게 해결해야 만 될것같은 문제를 간단하게 해결할 수 있게 되었다. 역시 모든 문제의 해결책은 메뉴얼이다.

Server/DB 2007.05.15

Z와 S의 차이...

MySQL에서 테이블 컬럼 분석할 일이 생겨서... 일전에 phpMyAdmin에서 하던 명령을 콘솔에서 날려 볼려고 하였다. 대충 기억나는 명령어로는 ANAL... 뭐라고 하는거 같았는데 라며... 메뉴얼을 뒤적였다. 다음과 같은 명령어가 나오더군... 이게 맞나보다 하고 날렸더니 -.-;; 왜 안되는거지... -.-;; 내가 예상했던 결과하고 틀리게 나오네 -.-;; 이곳 저곳 한참을 찾은 끝에 알아 낸 명령어는... -.-;; 어... ANALYZE하고 ANALYSE하고 뭐가 틀린거야? 얼른 네이버 사전을 찾아 봤다 analyze an·a·lyze〔〕 vt. 1【물리·화학】 분석하다, 분해하다;【수학】 해석하다 《analyze+목+전+명》 analyze something into its element..

Server/DB 2007.02.14 (2)

MySQL에서 변수의 사용...

보통 MySQL에서 변수를 쓰려면 다음과 같이 하면 된다. SET @yesterday := DATE_ADD(DATE(CURDATE()), INTERVAL -1 DAY); 또한 쿼리 내에서 직접 변수에 값을 담으려면 다음과 같이 하면 된다. SELECT column INTO @columnVar ... 이런식으로 쿼리만을 모아서 프로그램 짜듯이 procedure하게 짜나간 후 sql파일로 저장해서 사용한다. 여지껏 이렇게 만들어서 사용하고 있는데... 문제가 하나 생겼다 SELECT해온 컬럼값이 없을 경우 에러를 내 뱉으면서 다음 내용으로 넘어가질 않는 것이다. MYSQL 문법을 뒤져서 겨우 겨우 찾아냈다. SELECT @columnVar := column ... 이런식으로 하면 에러가 안나면서 변수에 값을..

Server/DB 2006.12.18 (2)

bash shell에서 재밌는 기능하나 발견 ^^

리눅스에 하는 작업이라곤 고작 vi로 프로그래밍 하고, Apache나 MySQL 설정 파일 변경 등이 대부분이라서... 오래 사용하고서도 아는 기능이 많이 없었다. 그런데 요 근래 발견한 재미 있는 기능들을 통해서 다시 한번 리눅스의 재미에 맛을 들이기 시작했다. 물론 이전에도 리눅스를 좋아했지만 말이다. 알게 된 재미있는 기능 몇가지를 아래에 써 본다. 1. split split 파일명 -rw-r--r-- 1 root root 73568 Dec 12 10:12 xaa -rw-r--r-- 1 root root 73601 Dec 12 10:12 xab -rw-r--r-- 1 root root 73559 Dec 12 10:12 xac -rw-r--r-- 1 root root 73613 Dec 12 10:12..

Server/Shell 2006.12.12 (2)

Linux Console에서 탭의 위력 -.-;;

그동안 콘솔 상에서 작업하면서 탭을 밥먹듯이.. 아니 밥보다도 훨씬 많이 사용하면서도... 오늘 첨 보는 기능(?)을 보게 되었다. 아래와 같은 상태에서 탭을 쳣더니 grep 'FileN grep 'FileName.ext' 이렇게 되는것이 아닌가... 음... 그럼... 이렇게 하면? grep FileN grep FileName.ext 음.. 이렇게 되네... 음.. 그럼 이렇게 하면? grep "FileN grep "FileName.ext" 그런데 다음과 같이 하면 아무런 반응이 없네... grep `FileN 아무래도 `는 감싸져 있는 것의 명령어의 결과를 리턴하게 되어 있어서 그런가보다 음.. 인공지능 탭... -.-;;

Server/Shell 2006.12.08

Text-Processing Basic - Sorting, Counting, Fromatting, and Translating

sortsort 명령은 알파벳순으로 정렬을 시켜 출력한다.기본적으로 숫자는 정렬되지 않는다. 숫자로 정렬하려면 다른 옵션을 사용해야 한다.sort 명령은 다음과 같은 옵션을 갖는다.-d : Sorts in phone-directory order-f : Sorts lowercase letters in the same manners as uppercase letters-i : Ignotes any characters outside the ASCII range-n : Sorts in numerical order instead of alphabetical-r : Reverses the order of the outputwcwc는 "word count"로 파일의 라인수, 워드수, 문자수를 출력한다wc fileon..

Server/Shell 2006.12.05

왜 리눅스에선 조각 모음이 필요 없는가?

※ 이 글은 [Why doesn't Linux need defragmenting? ] 의 내용을 번역한 것이다. 혹시 오류가 있으면 지적 부탁드린다. 왜 리눅스에선 조각 모음이 필요 없는가? 지겹게도 되풀이되어 나오는 질문 하나가 있죠: "왜 리눅스의 파일 시스템은 조각 모음이 필요 없나요?". 이 글을 통해 질문에 대한 해답을 한 방에 정리해 보고자 합니다.단순히 수많은 기술적 설명들을 어설프게 더듬거리기보다, ASCII 그림을 사용하는 게 훨씬 효과적일 것 같습니다. 그런 고로, 전반적인 설명을 진행하는 데 이 그림을 사용하도록 하겠습니다: a b c d e f g h i j k l m n o p q r s t u v w x y z a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ..

Server/Etc 2006.11.28 (2)

웹서버 부하 분산을 위한 허접한 로드밸런싱 ^^;

웹서버가 그렇게 성능(Xeon 2.4, 스카시HDD, 1G RAM)이 떨어지는 것도 아닌데... 60만명이 넘는 회원을 가진다음카페 회원들한테 메일한번 쏜 이후로 엄청난 접속에 거의 서버가 멎을 뻔 하였던 경험을 하였습니다. 그래서 생각한 것이 로드밸런싱인데... 허접한 제 실력에 로드밸런싱이란 것은 하기 힘든 작업이었죠.^^ 그래도 어디서 들어본 것은 있는지 문득 생각난 것이 rsync와 Round-Robin이였습니다.^^ 하지만 들어보기만 했지 직접 해 본적은 없어서... 어떻게 해야 할 지 난감하더군요..^^ 어째든 맨땅에 헤딩은 그렇게 시작이 되었습니다.^^ 여기서 많은 분들께 질문도 하고... 여기 저기 문서도 많이 찾아 봤습니다.^^ 아직 완벽하지는 않은 듯 하니... 참고로 보시고.. 물론 ..

Server/Etc 2006.11.13

리눅스에서 ntfs 하드 mount 하기... ^^

음.. 어느날 사무실 직원 한명이 win XP에서 쓰던 하드에 XP 서비스팩 2를 잘못 설치해서 아예 부팅도 안되고 다른 윈도우에서도 인식이 안되게끔 하드를 망가트린 적이 있었습니다. 저는 리눅스를 깔 때 아주 많은 포맷 형식을 지원하길래... 그냥 마운트 시키면 될 줄 알고 마운트를 시도 했죠. 그랬더니.. -.-;; 커널에서 ntfs를 지원 안한다는 말만.. ^^ 다른 분의 도움을 얻어 ntfs를 마운트 하는데 성공했습니다. ^^ 그래서 그 방법을 알려드리고자.. ^^ 이미 알고 있는 분들은 역시 pass ^^ 레드햇 7.3, 커널 버전 2.4.20-28.7을 기준으로 설명 드립니다. 1. 자신의 커널 버전을 확인 uname -r 2. cpu 타입 확인 rpm -q --queryformat "%{AR..

Server/Etc 2006.11.13

Text-Processing Basic - cut, paste, join

cut데이터 필드를 칼럼별로 구분하기 위해 제공되는 tool 이다. 디폴트 delimiter는 tab이며 -f 옵션을 통해 정의할 수 있다.cat test one two three four five six seven eight nine cut -f2 test two five eight cut -f1,3 test one three four six seven nine -f 옵션 외에 다음과 같은 옵션들이 있다.-c : Allows you to specify characters instead of fields-d : Allows you to specify a delimiter other than the tabpastecut 명령어가 파일로부터 내용을 선택하는 것이라면 paste나 join 명령어는 field를..

Server/Shell 2006.11.07

Text-Processing Basic - cat, tac, nl, head, tail

cat-b : Numbers lines-E : Shows a dollar sign($) at the end of each line-T : Shows all tabs as ^I-v : Shows nonprinting characters except tabs and carriage returns-A : Does the same as -v combined with -E and -Ttaccat과 반대의 어순에서 알 수 있듯이 파일의 내용을 반대 순서로 보여준다.nlnl은 라인에 넘버를 사용해 보여주며, cat 명령어에 -b를 붙인 것과 동일하다.head파일의 첫 부분을 보여준다. 디폴트로 처음부터 10라인 까지 보여준다head -3 numbers one two three tail파일의 아래부분부터 보여준다.he..

Server/Shell 2006.11.07

[1원팁]이메일에서 아이디 부분만 검색하기

이메일이 들어가 있는 필드를 검색하는 부분이 있었다. 결과는 뒤에 '@naver.com'과 같은 부분을 제하고 보여주는 것이였는데... 아무 생각없이... "email LIKE '%$searchWord%' 라고 했더니... 바로 QA 팀에 걸렸다 ㅎㅎ n, a, v, e, r, ., c, o, m 중 아무 글자로나 검색하면... 모든 내용이 다 나오게 되니 말이다 ㅎㅎ 그래서 MySQL 메뉴얼 찾아서 검색해보니... SUBSTRING_INDEX 라는 좋은 놈이 있더라... SELECT email FROM table WHERE SUBSTRING_INDEX(eamil, '@', 1) LIKE '%$searchWord%';

Server/DB 2006.11.01
728x90
반응형