becool

20210423 (금) 본문

linux

20210423 (금)

gusalstm 2021. 4. 23. 16:25
반응형

9:31 review

 

이벤트 로그 관리

 

rsyslog

/var/log

/etc/rsyslog.conf

# Log all the mail messages in one place.
mail.*                                                  -/var/log/maillog
- : 일정 버퍼를 갖고 데이터가 누적되면 그때 로그를 생성. 

 

문법

 uucp,news.crit   =  uucp.crit,news.crit

 kern.none  = 커널에서 보내는 모든 priority

 

 

============================================

 

Log rotate (로그순환)

 /etc/logrotate.conf

 /etc/logrotate.d/

 /etc/cron.daily/logrotate

 로그 파일 저장 시 사용 빈도가 높은 시스템의 경우 로그의 양도 증가함

 로그 파일의 크기가 너무 크면 로그 파일을 읽고 쓰기에 많은 부하가 발생함.

 로그를 일정 주기/용량 기준으로 분할하고 시스템에 유지하는 로그의 갯수를 제한 하는 것.

 

 logrotate 툴은 /var/log 디렉터리가 포함된 파일시스템의 공간이 너무 많이 차지하지 않도록 그 파일을 순환한다.

 로그 파일이 순환되면 순환된 날짜를 나타내는 확장자가 포함된 이름으로 파일 이름이 변경된다.

 예를 들어, 이전 /var/log/messages  파일이 2019년 1월 30일에 순환된 경우 파일 이름이 /var/log/messages-20190130이 된다.

 이전 로그 파일이 순환되면 새 로그 파일이 작성되고 여기에 기록하는 서비스에 알림이 발송된다.

 

일정한 횟수로 순환된 후 (일반적으로는 4주 후) 에는 디스크 공간을 확보하기 위해 가장 오래된 로그파일부터 삭제된다.

 

예약된 작업은 logrotate 프로그램을 매일 실행하여 로그가 순환되어야 하는지 확인한다.

대부분의 로그 파일은 매주 순환되지만 logrotate는 일부 파일을 더 빨리, 더 느리게 또는 파일이 일정한 크기에 도달했을 때 순환한다.

 

log    ↓ 로그의 내용이 아래의 파일로 한칸씩 밀려나게 되며,
log.1  ↓ 최신의 로그파일(log)에는 내용이 비어지게 되어서 새로운 로그를 기록함.
log.2  
log.3  ↓ 4주(디폴트값)이 지나면 과거파일에 저장된로그는 삭제됨.

 

기본파일 : /etc/logrotate.conf

커스텀파일 : /etc/logrotate.d/[NEW FILE]

logrotate.conf

# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# use date as a suffix of the rotated file
dateext

# uncomment this if you want your log files compressed
#compress

# RPM packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {
    monthly
    create 0664 root utmp
        minsize 1M
    rotate 1
}

<logstudy 파일을 세팅한다.>

[root@localhost logrotate.d]# cat logstudy 
/var/log/logstudy.log {
size=3k                                     3킬로바이트 이상에서만 실행
create 600 root sys                     chmod 600권한으로 생성되며, 파일소유자 root, 파일그룹 sys로 지정하여 생성한다.
rotate 3                                   파일은 최대 3까지 생성한다. (그 이상은 삭제한다)
nodateext                                dateext를 사용하지 않는다(파일명에 날짜를 삽입하여 생성하지 않는다.)

                                             .1 .2 .3 … 형태로 생성되게 됨

 

 

 

<logrotate logstudy 실행 전 후> 아이노드값이 밀린 것을 볼 수 있으며, 용량도 한칸씩 밀려있다.

 또한 마지막 파일은 내용은 삭제되었다.
[root@localhost logrotate.d]# ls -li /var/log/logstudy*
33781762 -rw-------. 1 root sys  5412 Apr 23 13:19 /var/log/logstudy.log
33781793 -rw-------. 1 root sys  4552 Apr 23 13:17 /var/log/logstudy.log.1
33781790 -rw-------. 1 root sys  7299 Apr 23 13:15 /var/log/logstudy.log.2
35917484 -rw-r--r--. 1 root root 4866 Apr 23 13:14 /var/log/logstudy.log.3
[root@localhost logrotate.d]# logrotate logstudy 
[root@localhost logrotate.d]# ls -li /var/log/logstudy*
33781794 -rw-------. 1 root sys    0 Apr 23 13:20 /var/log/logstudy.log
33781762 -rw-------. 1 root sys 5412 Apr 23 13:19 /var/log/logstudy.log.1
33781793 -rw-------. 1 root sys 4552 Apr 23 13:17 /var/log/logstudy.log.2
33781790 -rw-------. 1 root sys 7299 Apr 23 13:15 /var/log/logstudy.log.3

 

 

 

 

 

=========================================

 

journalctl

 -p [START PRIORITY]..[END PRIORITY]

 -n

 -f

 --since

 --until

 _PID

 _UID

 _COMM

 _SYSTEM_UNIT

 -o OUTPUT_FORMAT

    short, verbose, json 

 

 /run/log/journal

 

 

===

journalctl 

[root@localhost ~]# journalctl --list-boots
-1 0488ebe61983493baf5a5a7a1321c978 Fri 2021-04-23 09:46:00 KST—Fri 2021-04-23 1
 0 a664369a2ae34bc387b557bbe5703ab6 Fri 2021-04-23 11:49:15 KST—Fri 2021-04-23 1

 

-1 : 이전 부팅

 0 : 현 부팅

 

저널은 기본적으로 그 저널이 위치한 파일 시스템의 10%보다 커지거나 파일 시스템의 15% 미만을 비워둘 수 없음.

이 값는 /etc/systemd/journald.conf 에서 조정 가능함

 

 

==============================

 

패키지 관리

 

yum

yum 저장소

# yum repolist

/etc/yum.repos.d/

*/repo

 

yum install PACKAGE OPTION

yum erase

yum remove

 

 

 

yum info

yum search

yum provides

yum update [PATH] (패키지 명 지정하지 않으면 전체 시스템에서 update 될 패키지 확인 후 update 진행)

yum history  ※ cat /var/log/yum.log

yum clean 캐쉬된 저장소에 있는 패키지 파일 삭제 ( /var/cach/yum/x86_64/7 )

yum clean all 캐쉬 모두 삭제

 

 

 

728x90

'linux' 카테고리의 다른 글

20210427 (화)  (0) 2021.04.27
20210426 (월)  (0) 2021.04.26
20210422 (목)  (0) 2021.04.22
20210421 (수)  (0) 2021.04.21
20210420 (화)  (0) 2021.04.20
Comments