'File'에 해당되는 글 5건

  1. 2017.08.17 [Logstash] input file start_position => "end"
  2. 2017.07.19 [Logstash] input file plugin 에 대해서 알아 봅니다.
  3. 2013.02.01 C++ file read/write as buffer size
  4. 2009.07.13 [PERL] 지정한 경로의 디렉토리 or 파일 검증.
  5. 2008.06.30 [펌] 리눅스 파일 시스템

[Logstash] input file start_position => "end"

Elastic/Logstash 2017.08.17 11:20

먼저 앞서 기술한 input file 에 대한 내용을 먼저 읽어 보시면 이해 하시는데 도움이 됩니다.


※ [Logstash] input file plugin 에 대해서 알아 봅니다.


이전 글은 데이터 유실 방지를 위한 설정과 input file 의 주요 설정 정보에 대해서 알아 봤습니다.

이번 글에서는 반대로 start_position => "end" 로 했을 때 왜 데이터가 유실 되는지 간략하게 살펴 보겠습니다.


설정)

input {

  file {

    path => "/xxxx/logs/test-file.log"

    start_position => "end"

    stat_interval => 1

  }


  file {

    path => "/xxxx/logs/test-file1.log"

    start_position => "end"

    stat_interval => 10

  }

}


output {

    stdout {

      codec => "rubydebug"

    }

}


첫 번째 실행)

$ bin/logstash -f config/test-file.conf


첫번째 실행 후 sincedb)

189766986 1 4 3675


두 번째 실행)

$ bin/logstash -f config/test-file.conf


두번째 실행 후 sincedb)

189766986 1 4 4065


보시는 것 처럼 start_position => "end"로 했을 경우 해당 파일의 end byte offset 정보를 기록하게 됩니다.

이후 sincedb  정보는 변경이 되지 않게 됩니다.

logstash 를 중지 하고 재실행 합니다.

그 동안 test-file.log 에는 계속 데이터가 누적 되도록 하였습니다.

두 번째 실행 된 후 sincedb 값을 확인해 보면 변경 되어 있는 것을 볼 수 있습니다.


이와 같이 첫 번째 offset 정보와 두 번째 offset 정보의 차이 만큼 데이터가 유실 되게 되는 것입니다.


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 : Comment 0

[Logstash] input file plugin 에 대해서 알아 봅니다.

Elastic/Logstash 2017.07.19 13:25

가장 많이 사용하고 있는 logstash input plugin 중에 하나라고 생각 합니다.

저 역시 현업에서 제일 많이 사용하고 있는 plugin 이기도 합니다.


elastic reference 문서를 보시면 설명이 잘 나와 있습니다.

하지만 신뢰 할 수 없는 기억력으로 인해서 한번 작성해 봅니다.


이미 많은 분들이 input file plugin 에 대해서 많은 자료들을 공유해 주셨기 때문에 구글링 몇 번 해보시면 좋은 정보를 얻으실 수 있습니다.


참고문서)
https://www.elastic.co/guide/en/logstash/current/plugins-inputs-file.html


logstash input file 기본 동작은 ruby-filewatch를 이용한 tail 입니다. 


주요 설정 정보)

1. start_position

이 설정은 logstash 실행 시 읽기 작업에 대한 수행 정보를 정의 합니다.

beginning 과 end 설정은 2번 sincedb 파일이 있고 없고에 따라 동작이 다르다고 생각 하시면 됩니다.

즉, sincedb 에 offset 정보가 있으면 해당 offset 부터 읽게 되고 없으면 beginning, end 설정 동작 방식으로 동작 합니다.

beginning 은 처음(이전) 부터 읽어 들이고, end 는 가장 최근 부터 읽어 들이게 됩니다.


결국, 데이터의 유실 없이 데이터를 읽기 위해서는 beginning 으로 설정 하셔야 합니다.

default value 는 end 입니다.


2. sincedb

이건 설정은 아니고 sincedb 파일에 대한 내용입니다.

logstash input file 을 사용하게 되면 sincedb 파일에 어디까지 읽었는지 정보를 기록하게 됩니다.

reference 문서를 보시면 sincedb 에 기록하는 정보에 대해서 설명이 자세히 나와 있습니다.


Sincedb files are text files with four columns:


The inode number (or equivalent).

The major device number of the file system (or equivalent).

The minor device number of the file system (or equivalent).

The current byte offset within the file.


$ cat .sincedb_8d6238d5255f464e564ecdb307fe0c0c

7341423 0 51713 67247655


sincedb_path 를 설정 하지 않을 셨을 경우는 user home directory 를 확인해 보시거나,

~/logstash-5.5.0/data/plugins/inputs/file/ 을 확인해 보시면 됩니다.


#pick SINCEDB_DIR if available, otherwise use HOME

sincedb_dir = ENV["SINCEDB_DIR"] || ENV["HOME"]

※ .sincedb 작성 시 overwrite 인지 append 인지 확인 후 공유 드리겠습니다. ㅡ.ㅡ;

미쳐 확인을 못했내요.

->

input file 을 여러개 등록 하면 sincedb 가 여러개 생성이 됩니다.

참고 파일은 filewatch 소스코드를 보시면 되시겠습니다.

($ ~elastic/logstash-5.5.0/vendor/bundle/jruby/1.9/gems/filewatch-0.9.0/lib/filewatch)


input file 을 여러개 등록 하면 sincedb 에 inode 가 다른게 여러게 생성 됩니다.

즉, overwrite(update) 이라고 보시면 되겠습니다.

위에 잘못 설명한 부분은 확인 없이 그냥 동작 하고 있는 것만 가지고 작성을 하다 보니 놓친 부분 입니다. 죄송합니다.

기존에 logstash 가 처리 하고 있는 log file 자체의 변경이 발생 하였을 경우 기 생성된 sincedb 에 row가 추가 되면서 변경된 log file 의 inode 값과 offset 정보가 추가 되게 됩니다.

- 파일이 삭제 된 후 다시 생성 된 경우가 대표적인 예가 되겠습니다.


189699226 -rw-r--r--  1 henry  staff  105  7 20 15:03 file.log

$ rm -f file.log

189766986 -rw-r--r--  1 henry  staff  120  7 20 15:04 file.log


$ cat .sincedb_27eb92c828fb885f9741fac9e538c0e1

189699226 1 4 285

189766986 1 4 150


3. sincedb_write_interval

이 설정은 logstash 가 열심히 일을 하고 어디까지 일을 했는지 주기적으로 기록하도록 하는 주기를 작성 하게 됩니다.

설정 주기가 너무 길게 되면 logstash가 비정상 종료 후 재 실행 되었을 때 데이터가 중복으로 입력 될 수도 있으니 적절한 주기를 찾아서 설정 하는게 중요 합니다.


현재 inode 파일의 읽어 들인 offset 정보를 sincedb 에 기록 하게 됩니다.

default value 는 15초로 되어 있습니다.


4. stat_interval

이 설정은 logstash 가 읽어야 하는 로그 파일에 새로운 로그가 추가 되었는지 확인하기 위한 주기를 설정 하게 됩니다.

reference 문서에서는 아래와 같이 설명 하고 있습니다.

How often (in seconds) we stat files to see if they have been modified. Increasing this interval will decrease the number of system calls we make, but increase the time to detect new log lines.


system call 을 줄일 것인지 빠르게 신규 로그 감지 할 것인지 결정을 하셔야 합니다.

default value 는 1초 입니다.


5. discover_interval

이 설정은 filename pattern 을 이용해서 신규 로그 파일이 추가 되었는지 확인 하기 위한 주기를 설정 하게 됩니다.

 default value 는 15초 입니다.


여기까지 알아 두면 좋은 설정들은 이렇습니다.

이를 기반으로 샘플 설정을 작성해 보면 아래와 같습니다.


input {

  file {

    path => "/XXXX/logs/test-file.log"

    start_position => "beginning"

  }

}


결국 기본 설정으로 돌려도 크게 무리는 없습니다.

다만, 생성되는 로그 파일의 크기와 worker, queue 설정 크기에 따라 값들을 최적화 하시면 됩니다.

왜냐면 사용하시는 환경 마다 다 다르기 때문이고, 환경에 맞춰서 튜닝을 할 수 밖에 없기 때문 입니다.


3, 4, 5 번에 대한 테스트는

3번은 설정 변경 하시면서 sincedb 값이 바뀌는 걸 보시면 됩니다.

4번은 설정 변경 하시면서 output  으로 언제 전달 되는지 보시면 됩니다.

5번은 설정 변경 하시면서 log file을 rotate 해보시면 됩니다.


여기서는 그냥 4번 초간단 테스트 예제만 보여 드리겠습니다.


1. log file 을 생성하고 해당 파일에 log를 기록 합니다.

while true;
do

DATE=$(date '+%Y%m%d%H%M%S');

echo $DATE >> /XXXX/logs/test-file.log;

cat test-file.log;

sleep 2;

done

코드 보셔서 아시겠지만 2초 마다 datetime  을 file.log 에 기록하는 스크립트 입니다.


2. logstash 를 실행 시킵니다.

[file.config]

input {

  file {

    path => "/XXXX/logs/test-file.log"

    start_position => "beginning"

    stat_interval => 30

  }

}


output {

  stdout {

    codec => "rubydebug"

  }

}


$ bin/logstash -f ./config/file.conf --config.reload.automatic


이렇게 하시면 30초 마다 file.log 에 기록된 정보를 읽어 오게 됩니다.

참 쉽죠잉.


여기까지 logstash input file 에 대한 설명이였는데요.

도움이 되셨다면 좋겠습니다.


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 : Comment 0

C++ file read/write as buffer size

ITWeb/개발일반 2013.02.01 14:55

file read and write as block size.


#include <iostream>
#include <fstream>
using namespace std;

const int32_t BUFFER_SIZE = 64;

int main () {
        char* buff;
        int32_t currSize = 0;
        int32_t totalSize = 0;
        int32_t extraSize = 0;

        ifstream is;
        ofstream os;

        is.open ("plain.txt", ifstream::in);
        os.open ("plain_bak.txt", ofstream::ate);

        // get size of file:
        is.seekg (0, ios::end);
        totalSize = is.tellg();
        is.seekg (0, ios::beg);

        cout << "file size : " << totalSize << endl;

        // allocate memory:
        buff = new char[BUFFER_SIZE];

        while ( !is.eof()  ) {
                extraSize = totalSize - currSize;

                if ( extraSize >= BUFFER_SIZE ) {
                        memset(buff, 0x00, BUFFER_SIZE);
                        is.read(buff, BUFFER_SIZE);
                        os.write(buff, BUFFER_SIZE);
                } else {
                        memset(buff, 0x00, BUFFER_SIZE);
                        is.read(buff, extraSize);
                        os.write(buff, extraSize);
                }

                currSize = currSize + BUFFER_SIZE;
        }

        is.close();
        os.close();

        delete[] buff;
        return 0;
}


신고
크리에이티브 커먼즈 라이선스
Creative Commons License
tags : File, Read, Write
Trackback 0 : Comment 0

[PERL] 지정한 경로의 디렉토리 or 파일 검증.

ITWeb/개발일반 2009.07.13 20:08

아주 초보적인 스크립트죠.

#!/usr/bi/perl

@files = </home/계정/*>;

foreach $file (@files) {
    if ( -f $file ) {
        print "This is a file (" . $file . ")\n";
    }

    if ( -d $file ) {
        print "This is a directory (" . $file . ")\n";
    }
}

사실 제가 만들고 싶은걸 작성 하기 전에 이 기초적인 것 부터.. 기록해 두려고.. 글 등록 합니다.
내가 만들고 싶은거..

1. 특정 디렉토리를 recursive 하게 search 를 한다.
2. inode 가 변경 된 최신 파일을 대상으로 file size 가 특정 용량을 넘는지 검사를 한다.
    - daily 로 검사 하면 된다.
    - 근데 파일은 매일 매일 증가를 할 텐데 추가된 거나 inode 만 변경 된 걸로 increase 하게 검색 할 수 있을까?
    - 파일 올릴때 어디 기록을 해야 하나..ㅡ.ㅡ;
3. 특정 용량이 넘으면 alert mail 을 발송 또는 통계를 작성 하여 메일 발송 한다.

암튼.. 지금은 배도 무지 고프고 머리도 멍 하고..
대충 이정 도만 정리를 하자..
뭐.. 보니 recursive function 하나 만들어서 잘 돌리면 몇 줄 안짜고 쉽게 만들수도 있을 것 같다.
근데.. 고민은.. 2번 이다..ㅡ.ㅡ;;
파일은 무한정 늘어 날텐데... 흠..

신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 : Comment 0

[펌] 리눅스 파일 시스템

ITWeb/스크랩 2008.06.30 14:22
ref. http://forum.falinux.com/zbxe/?mid=lecture_tip&page=2&document_srl=406068

디렉토리 명 설    명
/ 루트 디렉토리
/bin 가장 필수적인 실행명령
/boot 커널,LILO 등 부팅에 관련된 파일
/dev 장치파일 모음
/etc 시스템 전체 설정파일
/home 사용자의 홈디렉토리
/lib C 라이브러리 등 가장 필수적인 공유 라이브러리
/mnt 임시 마운트용 디렉토리
/proc 시스템 정보를 위한 가상적인 디렉토리
/root 루트 사용자의 홈 디렉토리
/sbin 시스템 관리용 실행파일
/tmp 임시 파일 생성용 디렉토리
/usr 어플리케이션이 설치되는 디렉토리
/var 시스템 운영중 생성되는 각종 임시 파일

디렉토리 명 설    명
/dev/fd0 프로피 디스크 드라이브
/dev/hda 첫 번째 슬롯 마스터 IDE 하드 디스크 드라이브
/dev/hdb 첫 번째 슬롯 슬레이브 IDE 하드 디스크 드라이브
/dev/hdc 두 번째 슬롯 마스터 IDE 하드 디스크 드라이브
/dev/hdd 두 번째 슬롯 슬레이브 IDE 하드 디스크 드라이브
/dev/sda 첫 번째 SCSI 하드 디스크 드라이브
/dev/sdb 두 번째 SCSI 하드 디스크 드라이브
/dev/st0 첫 번째 SCSI 테이프 드라이브
/dev/st1 두 번째 SCSI 테이프 드라이브
/dev/scd0 첫 번째 SCSI CD 롬 드라이브
/dev/scd1 두 번째 SCSI CD 롬 드라이브
/dev/cdrom IDE CD 롬 드라이브
/dev/mouse 마우스
/dev/ttyS0 COM 1 시리얼 포트
/dev/ttyS1 COM 2 시리얼 포트
/dev/lp0 첫 번째 병렬 포트
/dev/lp1 두 번째 병렬 포트
/dev/console 시스템의 콘솔 장치입니다.
/dev/null

아무것도 없는 장치(?) 하수구라고 생각하시면 되겠습니다. 예로 어떤 출력을 해야 하는데, 그 출력을 그냥 버리고 싶다면 출력 방향을 이 장치로 설정하면 그냥 하수구로 버리듯이 모든 출력이 사라집니다.

이 장치는 프로그램에서 열기 명령을 사용하면 항상 OK가 됩니다. 그러므로 프로그램에서도 디버깅에 상용되며, 셀 명령 실행에서 보기 싫은 출력 문자열을 없앨 때에도 사용됩니다.

/dev/zero /dev/null처럼 가상 파일이면서 이 장치에 쓰기를 하면 출력이 사라지지만 특정한 길이의 초기화된 더미 파일을 임시 스왑 파일을 만들 때 사용한다고 합니다. 아직은 도대체 뭔 소리인지 잘 모르겠습니다. --;

cat ****   설    명
/proc/1/status

첫번째 프로세스의 상태를 출력합니다.

/proc 아래에 프로세스 별로 번호에 맟춘 디렉토리가 있으며, 각 디렉토리에 프로세스별 정보가 있습니다. 예로,  /proc/1

/proc/cpuinfo cpu 에 대한 타입, 제조사, 모델, 성능 등에 관한 정보가 출력
/proc/devices 현재 동작 중인 디바이스 드라이버 목록
/proc/dma 현재 어떤 DMA 채널을 사용 중인지를 출력
/proc/filesystems 커널에 설정되어 있는 파일 시스템 목록
/proc/interrupts 어떤 인터럽트가 사용 중이고 각각의 인터럽트가 얼마나 사용되었는지를 출력
/proc/ioports 현재 어떤 I/O 포트가 사용 중인지를 출력
/proc/kcore 현재 시스템에서 사용중인 메로리의 실제 이미지로 실제 메모리의 내용을 모두 가진 것처럼 보이지만 프로그램이 필요로 하는 부분의 이미지만을 필요할 때 만들어 제공
/proc/kmsg 커널에 의해서 출력되는 메시지들을 저장하고 있는 파일
/proc/loadavg 현재 시스템의 평균 부하량(Load Average)에 대한 정보를 출력
/proc/ksyms 시스템 커널이 사용하고 있는 심볼들에 대한 정보를 저장하고 있는 파일
/proc/meminfo 사용중인 메모리의 사용량을 출력. 가상 메모리에 대한 정보도 얻을 수 있습니다.
/proc/self /proc 를 억세스하는 프로그램의 프로세스 디렉토리에 대한 심볼릭 링크로 두개의 프로세스가 /proc에 접근하면 각각은 서로 다른 링크를 가지게 됩니다. 이것은 주로 프로그램이 자신의 프로세스 디렉토리에 쉽게 접근할 수 있도록 해줍니다.
/proc/stat 시스템의 현재 상태에 대한 다양한 정보를 저장하고 있는 파일
/proc/uptime 시스템이 얼마나 오래 동작했는지에 대한 정보를 저장하고 있는 파일
/proc/version 시스템이 현재 사용중인 커널 버전에 대한 정보를 저장하고 있는 파일

프로그램  설    명
cat 파일 내용을 출력
chgrp

파일의 그룹 속성 변경

chmod 파일의 접근 권한 변경
chown 파일의 소유자 변경
cp 파일 복사
cut 특정 필드를 파일 밖으로 복사
date  현재 날짜 출력
df 파일 시스템별 용량 출력
dmesg

부팅 메시지 출력

grep 파일 안의 특정 패턴을 검색

gupzip
gzip

파일 압축
hostname 컴퓨터 이름 출력
kill 프로세스 죽이기
link 링크 만들기
ls 파일 목록 출력
mkdir 디렉토리 만들기
mount 장치를 시스템에 연결
mv 파일 이동/파일 이름 변경
netstat 현재 연결된 네트워크에 대한 모든 정보
ping 상대 P.C. 가 네트워크에 연결되어 있는지 확인
ps 실행 중인 프로세스 목록
pwd 현재 작업 디렉토리 출력
rm 파일 삭제
rmdir 디렉토리 삭제
rpm rpm 관리자
sleep 초 단위 대기
su 사용자 변경
tar 여러 개의 파일을 묶거나 풀기
touch 크기가 0인 파일을 만들거나 파일의 날짜/시간을 변경
umount mount 해제
unlink link 파일 제거
usleep 1/1,000,000초 단위로 대기
vi vi 에디터

프로그램  설    명
clock 현재의 날짜와 시간을 출력
fdisk

파티션을 새로 생성하거나 삭제

findfs 라벨에 해당되는 파티션 정보 구하기
fixfiles 파일과 관련하여 많은 거부 상황이 발생할 때 사용
grub grub 부팅 관리자 관련 프로그램
grub-install
grub-md5-crypt
grub-terminfo
halt 시스템 종료
ifconfig 네트워크 설정
ifdown 네트워크 종료
ifup

네트워크 시작

*** 네트워크 설정 상태를 변경하셨다면 ifdown 과 ifup으로 네트워크를 다시
*** 시작하실 수 있으나 /etc/init.d/network restart 로 한버에 재 시작할 수 있습니다.

lilo lilo 부팅 관리자 프로그램
mkfs 하드 디스크 파티션을 리눅스 파일 시스템
poweroff halt 와 같이 시스템 종료
reboot 시스템 리부팅

내  용 설    명
/etc/rc.d

시스템의 부팅과 시스템 실행 레벨 변경시에 실행되는 스크립트들이 저장되어 있는 디렉토리로 리눅스의 6가지 실행 레벨로 각각의 해당 디렉토리가 있습니다.

/etc/shadow 파일에서 패스워드 부분만을 따로 저장하는 파일. 이 파일에 패스워드는 암호화 되어 셰도우 패스워드 형태로 저장되어 있으며 시스템 관리자만이 접근할 수 있기 때문에 크래킹 등에 대한 피해를 줄임.
/etc/group 시스템의 그룹에 대한 정보를 저장하고 있는 파일
/etc/inittab init를 설정하는 파일

/etc/issue,
/etc/issue.net

getty 에 의해서 로그인을 위한 프롬프트가 뜨기 전에 출력되는 메시지를 설정하는 파일. 리눅스 시스템으로 접속할 경우 가장 처음으로 볼 수 있는 메시지로 보통 시스템에 대한 설명과 각종 환영 메시지를 전달하기 위해서 사용됩니다. issue 파일의 내용은 보통 시스템의 터미널에서 볼 수 있으며 /etc/issue.net 파일의 내용은 리모트상에서 시스템으로 접속할 경우 볼 수 있습니다.

/etc/motd 'Message of the day'의 약자로 시스템으로의 접속에 성공할 경우 쉘이 뜨기 전에 출력되는 메세지를 설정하는 파일
/etc/profile,
/etc/csh.login,
/etc/csh.cshrc
시스템이 시작될 때 사용자가 로그인을 할 때 본쉘이나 C쉘에 의해서 실행되는 스크립트 파일. 일반적으로 사용자들에 대한 기본 환경 설정에 사용.
/etc/securetty 시스템 관리자가 시스템에 로그인할 수 있는 안전한 터미널에 대한 정보가 저장. 일반적으로 가상 콘솔이 설정되어 있으며 네트워크를 통해 시스템으로 침입해 시스템 관리자의 권한을 획득하는 크랙킹을 막기 위해서 사용합니다.
/ete/shell 시 스템에서 안정적으로 사용할 수 있는 쉘에 대한 정보를 저장하고 있는 파일. 만약 chsh명령을 사용해 사용중인 쉘을 바꾸려면 이 파일에 저장되어 있는 쉘중에 선택해야 합니다. 또한 ftp데몬의 경우 사용자의 쉘을 검사하여 /etc/shell에 저장되어 있지 않은 쉘을 사용한다면 로그인을 허용하지 않습니다.

내  용 설    명
/usr/bin 리눅스 시스템에서 사용되는 각종 프로그램들이 저장되어 있으며 /bin 디텍토리에 없는 다양한 실행 파일들이 저장되어 있는 디렉토리
/usr/X11R6 X 윈도우 시스템에 사용되는 모든 파일들이 이 디렉토리 안에 저장되며 X 윈도우 시스템의 개발과 설치를 좀더 쉽게 하기 위해서 전체 시스템 디렉토리 구조에 통합되지 않고 독자적인 구조
/usr/etc /etc 디렉토리에는 각종 환경 설정 파일들이 있듯이 이곳에도 여러 가지 시스템 환경 설정 파일들이 저장되어 있습니다. /usr/etc의 파일들은 /etc디렉토리 안의 파일들과 달리 반드시 필요한 파일들은 아닙니다.
/usr/sbin 시스템 관리자를 위한 명령어들이 저장되는 디렉토리이며 명령어들은 루트 파일 시스템에는 필요가 없는 서버 프로그램들이 저장됩니다.
/usr/include C 라이브러리 및 각종 추가 라이브러리 헤더 파일
/usr/lib /lib 에 들어 있는 라이브러리를 제외한 라이브러리로 /usr/bin의 실행 파일의 동적 링크된 라이브러리가 들어 있습니다.
/usr/local 시스템 관리자에 의해서 따로 설치되는 프로그램들을 모아 놓은 곳으로 시스템에 관련된 프로그램이 아닌 관리자가 소스를 가져다가 컴파일하여 설치한 파일이 저장되는 곳입니다.
/usr/man man페이지의 실제 내용들이 저장되어 있는 디렉토리. man1, man2, man3, 등과 같이 여러개의 디렉토리들로 나누어져 있으며, man1 디렉토리는 섹션 1의 man 페이지 소스를 위한 디렉토리가 됩니다.
/usr/src 시스템에서 사용하는 각종 프로그램들의 컴파일되지 않은 소스 파일들이 저장되어 있다./usr/src/linux 디렉토리가 리눅스의 커널소스를 저장하고 있는 디렉토리입니다.
/usr/X386 /usr/X11R6 디렉토리와 유사한 티렉토리로 X11 Release 5를 위한 디렉토리
/usr/info GNU info문서들을 저장하고 있는 디렉토리
/usr/doc 각종 문서들이 저장되어 있는 디렉토리
/lib

일반적인 리눅스 시스템에서 사용하는 공용 라이브러리 파일들이 위치한 디렉토리입니다.
/lib/modules 디렉토리에는 커널로 로딩 사능한 커널 모듈들이 저장되어 있습니다.


내  용 설    명
/var/cache 포멧된 메뉴얼 페이지들이 잠시 대기(Cache)하기 위한 디렉토리
/var/lib 시스테이 동작하면서 계속 수정되고 변경되는 파일들을 위한 디렉토리
/var/local /usr/local 디렉토리에 설치된 프로그램들의 각종 데이터들이 저장되는 디렉토리
/var/lock 잠 금 파일들이 저장되는 디렉토리로 프로그램들이 특정한 장치나 파일들을 프로그램 자신이 독점적으로 사용하려 할 때 /var/lock 디렉토리에 잠금 파일을 만들어 사용하게 됩니다. 그렇기 때문에 다른 프로그램들은 장치나 파일을 사용하기 전에 우선 이 디렉토리의 내용을 조사하여 해당 장치나 파일들이 사용중인지 확인합니다.
/var/log 프로그램들의 로그 파일을 저장하는 디렉토리
/var/log/boot.log 부팅시 시작된 데몬들에 대한 정보
/var/log/cron 크론 메시지
/var/log/dmesg 부팅 시 컴퓨터 초기화 부분의 메시지가 기록되며 마직 부팅 메시지를 담습니다.
/var/log/secure 서비스를 받기 위하여 서버에 접속하는 모든 기록이 저장
/var/log/spooler 메일 및 뉴스 로그 파일
/var/log/statistics 센드 메일에서 사용하는 로그 파일
/var/log/wtmp 로그인한 사람의 정보를 가지고 있는 데이터 파일. 시스템을 사용하고 있는 사람의 정보를 가지고 있습니다.
/var/log/lastlog 마지막에 로그인한 사람에 대한 정보
/var/log/messages 시스템의 이상 유무에 대한 로그 파일로 시스템의 이상 유무를 파악하는데 사용
/var/log/xferlog ftp 억세스 로그 파일
/var/log/htmlaccess.log 아파치 웹 억세스 로그 파일. rpm으로 설치 시 여기에 억세스 로고가 쌓이며 /var/log/httpd/와 더블어 아파치와 관련된 로그 파일
/var/log/maillog 센드 메일의 로그 파일. 사용자가 메일 관련하여 접속할 경우 기록
/var/run 시스템의 현재 정보들을 저장하고 있는 디렉토리. /var/run/xinetd.pid 파일의 경우 현재 사용중인 xinetd 데몬의 프로세스 번호를 저장
/var/spool 메 일이나 뉴스, 프린터 큐 등고 같은 시스템상에서 대기 상태에 있는 작업들을 위한 디렉토리. 각각의 대기 작업들은 모두 /var/spool 아래 고유의 디렉토리에 위치합니다. 예를 들어 시스템의 계정 사용자들의 메일은 /var/spool/mail 에 저장됩니다.
/var/tmp /tmp에 저장된 임시 파일들중에 오래 보관되어야 할 임시 파일들이 저장되는 디렉토리
/var/log/netconf.log netconf 명령어 수행에 대한 로그 파일

신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 : Comment 0

티스토리 툴바