세이박스

리눅스 서버 하드웨어 사양 확인하는 명령어

서버,보안

리눅스 서버 하드웨어 사양 확인하는 명령어

 

간혹 리눅스 서버에서 서버 하드웨어 사양을 조회하고 싶을때가 있는데 서비스를 중지하고 케이스를 열어서 직접 확인해보는게 가장 정확하겠지만 아래와 같이 명령어로 손쉽게 제공해주고 있다.

 

하드웨어 사양 확인 명령어 : dmidecode

 

1. 서버 모델 확인
dmidecode | grep Name

 

2. 시리얼 번호 확인
dmidecode | grep Serial

 

3. CPU
cat /proc/cpuinfo

 

4. 메모리
cat /proc/meminfo

리눅스 서버 rsync error - transferred (code 23) at main.c(****)

서버,보안

Rsync 명령은 서버와 서버간에 지정한 폴더 내의 파일들을 동기화 시켜주는 명령어로서 싱크 대상이 되는 서버와 파일을 받아가는 싱크 클라이언트 서버로 구분합니다.
위 오류 메시지는 파일을 받아가는 서버에서 싱크시 발생할 수 있는 오류중 하나로써 파일 소유권 설정 문제에 대한 오류 메시지 입니다.

rsync err - transferred (code 23) //전송 오류 code 23

구체적인 원인은 웹페이지의 파일의 소유권이 nobody로 대부분 되어 있는데 만약 Apache 설정에서 일반 사용자 개정으로 변경 했다면 싱크 대상 서버에 /etc/rsync.conf 설정과 달라서 생기는 오류 입니다.


[HOME]
path = /home/
comment =
uid = nobody
gid = nobody
....


uid, gid 항목에 nobody를 Apache에서 지정한 개정으로 변경 하시던지 Apache 권한 설정을 nobody로 변경하시던지 하시면 됩니다.

Apache에서 소유권 변경을 할 경우엔 두 서버 모두 같이 변경 하셔야하며 파일들도 소유권 변경 해야만 싱크가 될 수 있으니 주의 해서 설정 변경을 하시기 바랍니다.



  최신영화, 최신 미국드라마 무료 다운로드... 


[출처] 세이박스 - http://www.saybox.co.kr/bbs/board.php?bo_table=board01&wr_id=220

[클래스] MySQL 테이블 복구 repair 명령어, SQL Error: Can't open file: 'sessions.MYI'. (errno: 145)

데이타베이스

어느날 갑자기 MySQL 테이블 하나를 읽을려고 할때 다음과 같은 메시지가 나타날 경우

SQL Error: Can't open file: 'sessions.MYI'. (errno: 145)

테이블이 오류가 난것입니다.
원인은 하나의 테이블에 지속적으로 접속자가 너무 많이 connection이 된 경우 혹은 MySQL 기록중에 DB서버가 강제 종료 혹은 리부팅 되는 경우 깨지는 경우가 종종 발생 합니다.

이처럼 비정상적으로 종료된 테이블인 경우 마지막 처리 과정을 복구해서 정상 동작 하도록 하는 명령어가 있습니다.

먼저 해당 테이블 DB에 접속합니다.

mysql -u아이디 -p db이름
비번 :
repair table tablename; 입력 혹은 그냥 엔터

또는 간단하게 한줄로

mysql -u아이디 -p비번 db이름 repair table 테이블명


  최신영화 보러가기... 


자리수 지정한 문자로 채우기 str_pad()

웹프로그램

PHP에서 특정 자리수 만큼 지정된 문자로 변경하고자 할 때 간단하게 str_pad() 함수를 이용하면 편리 합니다.
예를들어 1~20까지의 숫자가 있는데 1~9까지는 2자리수로 맞혀 주기 위해 앞에 "0"을 붙이고자 할 경우

str_pad($a, 2, "0", STR_PAD_LEFT);

라고 하면 간단하게 1~9 인경우 앞에 "0"이 붙게 됩니다.
기타 옵션에 따른 결과를 간단히 설명하겠습니다.

<?
$input = "test";
echo "<br>1:".str_pad($input, 8)."s";
echo "<br>2:".str_pad($input, 8, "*", STR_PAD_LEFT)."s";
echo "<br>3:".str_pad($input, 8, "*", STR_PAD_BOTH)."s";
echo "<br>4:".str_pad($input, 5 , "***")."s";
?>

결과 :
1:test    s
2:****tests
3:**test**s
4:test*s

1번은 변경할 문자를 입력하지 않을 경우 " " 부족한 자릿수 만큼 우측에 공백으로 추가합니다.
2번의 경우는 LEFT 부족한 자리수 만큼 왼쪽부터 채우며,
3번 BOTH는 좌,우 모두 균등하게 배치합니다.
만약 남은 공백이 5칸인경우 좌측에 2칸, 우측에 3칸을 추가 합니다.
4번은 변경할 값이 *** 3자리 이지만 자리수를 5칸으로 지정 했기에 * 하나만 적용되었습니다.

다양한 옵션으로 상황에 맞게 적용 하시면 됩니다.

리눅스 메일 삭제 명령어 옵션, linux mail command

서버,보안
리눅스(linux) 에서 기본적으로 사용하는 메일 명령어는 mail 이다.
리눅스 서버에서 오류 메시지 등을 해당 mail로 전송하곤 하는데 잘못된 오류로 인해 지속적으로 쌓인 로그가 양이 어마어마 한 경우가 간혹 있다.

이와 같이 쌓인 메일을 지우기 위한 명령어와 그외 mail 관련 명령어를 설명 해드리겠습니다.

1. mail 삭제

# mail 명령어 실행

"/var/spool/mail/root": 3 messages 3 new
>N 1
 N 2
 n 3

처럼 메일 갯수와 메일 리스트 항목이 쭉 나타 날겁니다.
위 3건 모두를 지우고 싶다면

& d 1-3
& q

d는 삭제 명령이며 1-3 은 첫번째 메일부터 3번까지의 메일을 삭제하라고 하는 명령입니다.
q는 좀전 실행한 명령을 저장하고 나가기 입니다.
q를 하지 않고 x또는 exit로 mail을 종료할 경우 처음으로 초기화 한 후 종료 됩니다.

[기타 mail 명령어 설명]

명령어 옵션을 볼려면 mail 실행후 help 또는 ? 를 입력하면 됩니다.

mail -u 유저명
선택한 유저의 메일 박스에 있는 메일 리스트가 출력되고 mail 명령어 모드 상태가 되며 실행

t 메일번호 : 지정된 메일의 내용을 출력
예) t 1 : 1번 리스트의 메일 내용을 출력

n : 다음 메일의 내용을 출력

e 메일번호 : ex 명령 모드를 이용해 메일을 편집

f 메일번호 : 지정된 리스트를 출력
예) f 1-10 : 1번 부터 10번까지 메일 리스트 출력

d 메일번호 : 지정된 메일 삭제 (위 설명 중복)
예) d 1-10 : 1번 부터 10번까지 메일을 삭제

s 메일번호 : 지정된 메일을 파일로 저장
예) s 1 mail.txt : 1번 메일을 mail.txt 파일로 저장

u 메일번호 : 삭제한 메일을 복구
예) u 1 : 삭제되었던 1번 메일 복구 (q를 실행해서 종료 하기전 가능)

R 메일번호 : 해당 번호 메일 보낸사람에게 답방 메일 보내기

r 메일번호 : 지정된 메일에 대해 모든 참조자를 포함하여 답변 보냄

pre 메일번호 : make messages go back to /usr/spool/mail

m 유저 리스트 : 원하는 유저에게 메일을 보냄

q : mail 모드에서 모든 상태를 저장후 종료
mail 모드에서 한번 읽었던 메일은 q 명령로 바져나갈 경우 메일방스에서 삭제되고 mbox 파일로 저장됨

x : mail 초기 상태로 돌려 놓고 바져나감
mail  모드에서 읽거나 삭제한 메일도 x 명령으로 빠져나가면 초기 상태로 복구 된다.

h : 메세지 리스트를 출력함.
예) h : 메일박스 첫 리스트를 출력, h 2 : 2번 메일 부터 리스트 출력

! : 쉘 명령을 실행
예) !pwd  pwd 명령을 실행 (현재 디렉토리 출력)

cd 디렉토리 : 입력한 디렉토리로 이동
예) cd /home/users

리눅스 서버 시간을 date 명령어로 손쉽게 변경하기

서버,보안
리눅스(linux) 서버에서 날짜를 보는 명령어는 다음과 같다.

[root@ ~]# date
2010. 04. 13. (화) 14:37:05 KST

위와 같이 현재 시간을 표시하게 되는데 위 시간에서 1분만 더 늦추거나 1시간 더 빠르게 등
특정 분,시간 단위로 +,- 하는 방법을 알려 드립니다.

date --set='-30 minutes'
date --set='-1 hours'
date --set='+1 hours'

[root@ ~]# date --set='-2 minutes'
2010. 04. 13. (화) 14:35:06 KST
[root@ ~]# date
2010. 04. 13. (화) 14:35:07 KST

위 예처럼 -2 minutes 경우 현재 시간보다 -2분전으로 변경 됩니다.

하지만 주의 사항으로 crontab 설정에 아래와 같이 특정 시간에 날짜를 받아 와서 갱신 하도록 해 두셨다면
해당 시간에 원래 시간으로 돌아오게 되니 crontab 설정을 확인 하시기 바랍니다.
00 05 * * * /usr/bin/rdate -s time.bora.net

리눅스 네트워크 관련 설정 파일

서버,보안
리눅스 네트워크 관련 설정 파일

1) IP, 서브넷 마스크, 게이트웨이
/etc/sysconfig/network-scripts/ifcfg-eth0

2) 컴퓨터이름, 게이트웨이
/etc/sysconfig/network

3) DNS 정보
/etc/resolv.conf

4) 간이 네임서버 파일 (자주 사용하는 IP와 문자 주소를 등록하는 파일)
/etc/hosts

윈도우 예약 종료 및 지정한 시간에 재부팅 하기

컴활용
xp 예약종료 명령
 
1. 별도의 프로그램 없이
시작 -> 실행 -> tsshutdn 원하는 종료시간(초단위)
시작버튼을 누르고 실행창에 tsshutdn 명령을 실행해 주는데 명령어 뒤에 초를 입력해줍니다.
예를 들어 한시간 후 예약종료 한다면 tsshutdn 3600 을 입력하면 3600초(한시간후) 예약종료됩니다.
 
2. 만약 재부팅을 하고 싶다면
tsshutdn 3600 /reboot : 1시간 뒤에 재부팅 합니다.
 
3. 옵션을 보고자 한다면
tsshutdn /?
서버를 제어된 방법으로 종료합니다.
TSSHUTDN [대기 시간] [/SERVER:서버 이름] [/REBOOT] [/POWERDOWN]
         [/DELAY:로그오프 지연] [/V]
  대기 시간             사용자에게 알린 후 모든 사용자 세션을 종료하기
                        전까지 기다리는 시간(초)(기본값은 60).
  /SERVER:서버 이름     종료할 서버(기본값은 현재 서버).
  /REBOOT               사용자 세션이 종료된 후 서버를 다시 부팅.
  /POWERDOWN            서버가 전원 꺼짐을 준비함.
  /DELAY:로그오프 지연  연결된 모든 세션을 로그오프한 후
                        기다리는 시간(초)(기본값은 30).
  /V                    수행 중인 동작에 대한 정보를 표시.