로그 파일을 주기적으로 압축하고 이름을 바꾸어 관리하는 명령어이다.

사용법 : logrotate [옵션] <설정파일> 
-d : 디버거 모드 
-f, --force : 강제적으로 실행한다. 이는 새로운 목록이 추가된 경우나, 오래된 로그 파일을 수동으로 직접 삭제한 경우 유용하다. 
-s, --state [statefile] : 지정된 정책 파일을 사용하여 logrotate를 실행한다. 
--usage : 간단한 사용법을 보여준다. 

cron은 백업과 같이 주기적으로 실행하는 명령들을 자동으로 처리하도록 해주는 도구로, 설정 내용은 /etc/crontab에 있다.
logrotate는 log 파일들을 주기적으로 관리하는 도구다. 지정된 주기에 맞춰서 각각의 log 파일들의 이름을 바꾸거나, 압축하거나 삭제한다. 보통 /etc/cron.daily에 logrotate라는 스크립트를 두어 /usr/sbin/logrotate를 /etc/logrotate.conf라는 설정에 맞춰 매일 실행하게 되어 있다.
/etc/cron.daily/logrotate 파일을 한 번 살펴보자.

# cat /etc/cron.daily/logrotate 
# !/bin/sh 
/usr/sbin/logrotate /etc/logrotate.conf 

/etc/cron.daily/logrotate 파일은 /etc/logrotate.conf파일의 참조하여 실행한다.
그럼, 이파일을 한번 살펴 보도록 하자.

# cat /etc/logrotate.conf 
weekly #1주일에 한번씩 로그 파일이 순환한다. 
rotate 4 #최대 4개까지의 백업 로그 파일을 남긴다. 
create #4개의 로그 파일이 생성된 후 새로운 로그파일을 생성한다. 
compress #압축으로 로그파일을 보관한다. 
include /etc/logrotete.d #rpm 패키지 로그 rotation 정보가 있는 디렉토리 
/var/log/wtmp { #/var/log/wtmp 로그 파일에 대한 설정이다. 
     monthly  #한달에 한번씩 로그파일을 순환한다. 
create 0664 root utmp #0664는 생성하는 파일의 허가권, root는 소유자, utmp는 그룹 
     rotate 1   #백업 로그가 없이 하나의 로그파일만이 생성될 것이다. 
               } 


위의 설정에서 rpm 패키지 로그 로테이션 정보가 있는 디렉토리를 살펴보자.
각 로그 파일 설정을 살펴 보면 각각의 정보를 볼 수 있을 것이다.

# ls /etc/logrotate.d/ 
apache  mysqld  named  proftpd  rpm  snmpd  squid  syslog  tux  up2date 

위의 파일 중 syslog 파일을 한 번 살펴보자. syslog 파일에는 message나 secure mailog같은 중요한 로그 파일에 대한 로테이션 정보를 담고 있다.

# cat /etc/logrotate.d/syslog 
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron { 
    sharedscripts 
    postrotate 
        /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true 
    endscript 
} 
2005/06/17 23:24 2005/06/17 23:24
파일에서 주어진 문자열로 시작하는 줄만 검색하여 보여주는 명령어

사용법 : look [옵션] 문자열 [파일] 
-d : 영문자만을 검색한다. 
-f : 대소문자를 구분하지 않는다. 
-a : 대체 사전인 /usr/dict/web2 파일을 사용한다. 
-t character : 문자열 마지막 문자를 지정한다. 

look 명령은 파일에서 검색한 문자열로 시작하는 줄을 찾아 보여준다. 이진파일 검색일 경우에는, 파일 안의 각 줄이 먼저 정렬되어야한다. 파일이 지정되지 않으면, /usr/dict/words 파일을 사용한다. 이 파일은 단지 알파벳 단어만 있으며, 대소문자는 무시된다.
2005/06/17 23:22 2005/06/17 23:22
디렉토리와 파일의 목록을 보여주는 명령어이다.

사용법 : ls [옵션] [파일] 
-a --all : .을 포함한 경로 안의 모든 파일을 나열한다. 
-b, --escape : 알파벳 형식을 사용하는 파일 이름 안에서 그래픽 문자가 아닌 문자들을 사용한다. 
-c, --time=ctime, --time=status : 파일 최근 변경 시간에 따라 정렬해서 보여준다. 
  자세한 나열(-l옵션)이면, 그 파일의 최근 변경 시간을 보여준다. 
-d, --directory : 경로안의 내용을 나열하지 않고, 그 경로를 보여준다. 
   (이것은 쉘 스크립트에서 유용하게 쓰인다.) 
-f : 경로 내용을 정렬하지 않는다 : 이것은 디스크에 저장된 순으로 보여준다. -a와 -U옵션과 같은 뜻이며, -l, -s, -t 옵션과 반대의 뜻이다. 
--full-time : 시간을 간략히 표시하지 않고, 모두 보여준다. 
-i, --inode : 파일 왼쪽에 색인 번호를 보여준다. 
-k, --kilobytes : 파일 크기가 나열되면, kb 단위로 보여준다. 이 옵션은 POSIXLY_CORRECT 환경 변수를 무시한다. 
-l, --format=long, --format=verbose : 파일 나열에 있어, 파일 형태, 사용권한, 하드링크 번호, owner 이름, group 이름, 파일 크기, 시간(따로 지정하지 않으면 파일이 만들어진 날짜)을 자세하게 나열한다. 시간은 여섯 달 이전 것이면, 시간이 생략되고, 파일의 연도가 포함된다. 
-m, --format=commas : 파일을 가로로 나열한다. 가로로 나열할 수 있는만큼 최대한 나열한다. 
-n, --numeric-uid-gid : 이름의 나열에서 UID, GID 번호를 사용한다. 
-p : 파일 형태를 지시하는 문자를 각 파일에 추가한다. 
-q, --hide-control-chars : 파일 이름에 그래픽 문자가 아닌 것이 있으면, ?' 로 표시한다. 
-r, --reverse : 정렬 순서를 내림차순으로 한다. 
-s, --size : 파일 크기를 1kb 단위로 나타낸다. POSIXLY_CORRECT 환경 변수가 지정되면, 512b 단위로 지정된다. 
-t, --sort=time : 파일 시간 순으로 정렬된다. 최근 파일이 제일 먼저 보인다. 
-u, --time=atime, --time=access, --time=use : 파일 사용 시간 순으로 정열한다. 자세한 나열이면, 시간 표시는 만들어진 날짜 대신, 사용된 날짜를 보여준다. 
-x, --format=across, --format=horizontal : 정렬 방식을 가로로 한다. 
-A, --almost-all : .', ..' 경로를 제외하고 디렉토리 안의 모든 파일을 나열한다. 
-B, --ignore-backup : 파일 끝이 ~'인 파일은 목록 나열에 제외된다. 
-C, --format=vertical : 정렬 방식을 세로로 한다. 
-F, --classify : 파일 형식을 알리는 문자를 각 파일 뒤에 추가한다. 일번적으로 실행파일은 "*", 경로는 "/", 심볼릭 링크는 "@", FIFO는 "|", 소켓은 "=", 일반적은 파일은 없다. 
-G, --no-group : 자세한 목록 나열에서 group정보를 제외한다. 
-L, --dereference : 심볼릭 링크 파일들을 그냥 파일로 보여준다. 
-N, --literal : 이름이 영문이 아닌 경우, C에서 사용하는 역슬래쉬 문자(\')와 함께 사용하는 표기 대신 그대로 출력된다. 
-Q, --quote-name : -N 옵션과 반대. 
-R, --recursive : 하위 경로와 그 안에 있는 모든 파일들도 나열한다. 
-S, --sort=size : 파일 크리가 가장 큰 것부터 정렬해서 나열한다. 
-U, --sort=none : 정렬은 하지않고, 디스크에 저장된 순서대로 보여준다. 이 옵션은 -f 옵션을 사용할 수 없다. 유닉스 용 ls -f는 -a 옵션은 가능하나, -l, -s, -t 옵션이 불가능하기 때문이다. 
-X, --sort=extension : 파일 확장자 순으로 정렬한다. 확장자가 없는 파일이 제일 먼저 나열된다. 
-1, --format=single-column : 한 줄에 한 파일씩 나열한다. 
-w, --width cols : 가로 길이를 cols 값으로 지정한다. 기본적으로는 한 화면의 가로 값이된다. 또한 COLUMNS 환경 변수 값으로 지정할 수 있다. 초기값은 80이다. 
-T, --tabsize cols : 탭이 사용될 때, cols 값으로 지정한다. 초기값은 8이다. 0으로 지정되면 탭 문자는 무시된다. 
-l, --ignore pattern : pattern 패턴으로 지정된 파일들은 목록에서 제외된다. 
   이때,  명령행에서 그파일이 지정되면 물론 나열된다. 
--color, --colour, --color=yes, --colour=yes : 파일의 형태에 따라 그 파일의 색깔을 다르게 보여주는 기능한다. 자세한 이야기는 아래 DISPLAY COLORIZATION 부분을 참조한다. 
--color=tty, --colour=tty : --color 옵션과 같으나, 단지 표준 출력에서만 색깔을 사용한다. 이 옵션은 칼라 제어 코드를 지원하지 않는 보기 풀그림을 사용하는 셀 스크립트나, 명령행 사용에서 아주 유용하게 쓰인다. 
--color=no, --colour=no : 파일을 구분하는 색깔을 사용하지 않는다. 이것이 초기값이다. 이 옵션은 색깔 사용을 이미 하고 있다면, 이 값을 무시한다. 
--help : 도움말을 보여준다. 
--version : 버전 정보를 보여준다. 

ls는 표준출력으로 지정한 디렉토리나 파일의 정보를 보여준다. 파일이나 디렉토리를 지정하지 않으면 현재 디렉토리의 내용을 보여준다.
2005/06/17 23:21 2005/06/17 23:21