UNIX/유닉스 공통

syslogd 관리

99iberty 2012. 7. 25. 15:57

 

syslogd 유틸리티는 sendmail 에서 디버깅 출력, 커널의 경고, 메시지 출력 등 시스템의 다양한 활동을 기록한다.

syslogd는 데몬으로 동작하고, 부트할 때 rc 파일 중 하나로 시작한다.

 

/etc/syslog.conf 파일은 syslogd 가 정보를 기록하는 것을 제어하며 다음과 같은 형태를 갖는다.

 

첫번째 필드 : 기록하려는 메시지

두번째 필드 : 어디에 기록할 것인지

두번째 필드에서 원격지로 보내고 싶으면 @ip주소 하면된다.

 

첫번째 필드는 다음과 같은 형태로 되어 있다.

facility.level [; facility.level ...]

 

facility : 메시지를 생성하는 sys app나 기능

level : 메시지의 등급 정보

 

* facility 에 올 수 있는 목록들

1. mail : 메일 데몬

2. kern : 커널

3. user : 사용자 프로그램의 경우

4. auth : login이나 su와 같은 인증 프로그램의 경우

 

* level 에 올 수 있는 목록들 ( 심각한 정도에 따라 오름차순으로 나열)

debug info notice warning err crit alert emerg

 

/dev/console 같은 경우는 콘솔 (현재의 가상 콘솔 또는 GUI 에서 -C 옵션과 시작한 터미널 에뮬레이터) 로 보내진다.

 

 

syslogd 에 의해 기록된 메시지는 보통 어떤 프로세스나 어떤 기능이 메시지를 보냈는지 인식한 날짜와 메시지 자체를 한 줄에 기록한다.

만약 로그파일이 너무 커지면 cat /dev/null > logfile 을 사용하여 비울 수 있다.

이렇게 하면 파일 내용은 지우되 로깅 시스템이 쓸 수 있도록 파일을 남길 수 있다.

 

syslog.conf를 편집하고 나서 syslogd 에 다음과 같은 명령을 사용해서 설정 파일을 다시 읽으라고 알려줄 수 있다.

 

kill -HUP `cat /var/run/syslog.pid`

 

/var/run/syslog.pid 파일에 들어있는 syslogd 프로세스 ID를 구하려고 백쿼트(`, backquote) 를 사용한다.

 

 

그 밖의 다른 시스템로그들은 다음과 같다.

  • /var/log/wtmp 

    : 사용자가 sys에 로그인한 시간과 연결한 기간을 가리키는 바이너리 데이터를 담고 있다.

      이것은 사용자의 로그인 목록을 생성하는 last 명령에서 사용한다. 

      시스템 리부팅할 때의 부팅 기록도 여기에 기록된다.

 

  • /var/run/utmp

     : sys에 현재 로그인되어 있는 사용자의 정보를 담고 있는 또 다른 바이너리 파일.

       who , w , finger 등에서 현재 로그인한 사람에 대한 정보를 생성하기 위해 사용.

       각 사용자의 로그인 시간을 볼 수 있고 현재 사용하는 명령도 무엇인지 알 수 있다.

 

  • /var/log/lastlog

    : utmp와 비슷하지만 다른 프로그램에서 사용된다 (finger 명령으로 어떤 사용자가 마지막 로그인한 떄가 언제인지 알기 위해 사용)

 

 

 

 

 

 

 

 

'UNIX > 유닉스 공통' 카테고리의 다른 글

LVM 상세내용 - LVM 확장 (online)  (0) 2012.07.26
FIND 명령어 사용방법  (0) 2012.07.25
리눅스 at 명령  (0) 2012.07.25
/proc 파일시스템  (0) 2012.07.24
리눅스 free 명령어  (0) 2012.07.23