Linux 로그회전 예제

Linux Logeuhoejeon Yeje



로그 정보는 운영 체제에서 실행 중인 애플리케이션의 문제를 진단하는 데 매우 중요한 부분이며 로그 항목은 문제의 해결 방법을 찾는 데 도움이 됩니다. 대부분의 Linux 운영 체제 애플리케이션은 로그를 생성하며 시스템 관리자는 로그 항목에서 애플리케이션에 대한 필수 정보를 얻습니다. 그러나 로그 항목은 시간이 지남에 따라 항목 크기가 커지기 때문에 문제를 일으키는 경우가 있습니다. 따라서 관리를 위해서는 로그 항목이 필요합니다.

logrotate는 로그 항목을 관리하는 Linux의 명령줄 도구입니다. 이 도구는 회전된 로그 파일 제한, 회전된 로그 파일 압축, 불필요한 로그 파일 삭제, 로그 파일을 기반으로 특정 셸 스크립트 실행 등과 같이 관리자가 로그 항목에 대해 다양한 유형의 작업을 수행하는 데 도움이 됩니다. 다양한 방법으로 로그 파일을 관리하기 위한 'logrorate' 명령이 여러 예를 사용하여 이 튜토리얼에 표시됩니다.

설치된 Logrotate 버전 확인

Ubuntu 운영 체제의 새 버전에는 'logrotate' 명령이 기본적으로 설치됩니다. 다음 명령을 실행하여 'logrotate' 명령의 설치된 버전을 확인하십시오.







$ 로그로테이션 --버전



다양한 애플리케이션의 로그 항목은 기본적으로 '/var/log' 폴더에 저장됩니다. 폴더 내용을 확인해보면 아래와 같은 유사한 내용이 나옵니다.



$ ㅋㅋㅋ / ~였다 / 통나무

'Logrotate' 구성 설정

설정값 목적
매일/매주/매월/매년 로그를 회전하는 기간을 정의합니다.
번호 회전 이전 로그 파일을 제거하기 전에 보관할 파일 수를 정의합니다.
압박 붕대 로그 파일을 압축하는 데 사용됩니다.
압축cmd '압축' 명령을 설정하는 데 사용됩니다. gzip이 기본 명령입니다.
압축 해제cmd '압축 해제' 명령을 설정하는 데 사용됩니다. gunzip이 기본 명령입니다.
지연압축 로그 파일의 압축 프로세스를 지연하는 데 사용됩니다.
알림이 비어 있음 빈 파일을 회전하지 않을 때 사용됩니다.
나는 그리워 해 설정된 경우 누락된 로그 파일에 대해 오류가 생성되지 않습니다.
크기 로그 파일 회전을 시작하는 제한을 설정하는 데 사용됩니다.
날짜 연장 회전 파일의 접미어로 날짜 값을 추가하는 데 사용됩니다.
복사해 자르기 원본 파일의 복사본을 만드는 데 사용됩니다.
미리 회전된 로그 파일을 회전하기 전에 스크립트를 실행하는 데 사용됩니다.
후회전 로그 파일을 순환시킨 후 스크립트를 실행하는 데 사용됩니다.
만들다 루트 권한으로 로그 파일을 생성하는 데 사용됩니다.

통사론:

'logrotate' 명령의 구문은 다음과 같습니다.

로그로테이션 [ 옵션 ] 구성_파일_경로

'logrotate' 명령을 사용하면 다양한 유형의 옵션을 다양한 목적으로 사용할 수 있습니다.

로그회전 옵션

'logrotate' 명령의 몇 가지 유용한 옵션은 다음과 같습니다.

-f, –강제 필요할 때 강제로 회전을 시킬 때 사용됩니다.
-d, –디버그 회전 중에 디버그 모드를 활성화하는 데 사용됩니다.
-m, –mail <명령어> 순환 중에 이메일을 보내는 데 사용됩니다.
-s, –state <상태파일> 대체 상태 파일에 사용됩니다.
-용법 사용정보를 인쇄하는데 사용됩니다.
-?, -돕다 도움말 메시지를 인쇄하는 데 사용됩니다.
-v, –상세 상세 모드로 인쇄하는 데 사용됩니다.

로그회전 구성 파일

기본 logrotate 구성 파일은 '/etc/logrotate.conf' 위치에 있습니다. 다음 명령을 실행하여 nano 편집기에서 파일을 엽니다.

$ 나노 / / logrotate.conf

'logrotate' 명령의 기본 설정은 'logrotate.conf' 파일에 표시됩니다. 'include' 지시문은 '/etc/logrotate.d' 디렉터리에 있는 구성을 검색하기 위해 파일에서 사용됩니다.

예 1: 간단한 Logrotate 구성 파일 생성

샘플 로그 데이터를 사용하여 '/var/log/test.log'라는 샘플 로그 파일을 생성합니다. 다음 명령을 실행하여 nano 편집기를 열고 '/etc/tmp' 폴더 위치에 새 'logrotate.conf' 파일을 만듭니다. 이전에 생성되지 않은 경우 루트 권한으로 '/tmp' 폴더를 생성합니다.

$ 나노 / / tmp / logrotate.conf

/var/log/test.log 파일에 다음 내용을 추가합니다. 설정에 따라 파일 크기가 5K를 초과하면 'test.log' 파일이 매일 교체됩니다.

/ ~였다 / 통나무 / 테스트.로그 {

일일

크기 5K

그의 루트 관리자

}

다음 명령을 실행하여 로그 파일의 크기를 확인하십시오.

$ ㅋㅋㅋ -엘 / ~였다 / 통나무 / 테스트.로그

구성 파일을 생성한 후 'logrotate' 명령을 실행합니다.

$ sudo 로그로테이션 / / tmp / logrotate.conf

'logrotate' 명령을 실행한 후 다음 명령을 다시 실행하여 로그 파일의 크기를 확인하십시오.

$ ㅋㅋㅋ -엘 / ~였다 / 통나무 / 테스트.로그

'test.log' 파일의 크기는 1K+입니다. 따라서 구성 설정에 따라 회전이 수행되지 않습니다.

/etc/tmp/logrotate.conf 파일에서 size 값을 1K로 변경한 후 다시 'ls' 명령어를 실행하여 /var/log/test.log 파일의 크기를 확인한다. 출력에 따르면 크기 제한을 초과하여 로그 파일이 회전되어 삭제됩니다.

예 2: Logrotate Copytruncate 사용

copytruncate의 사용을 표시하려면 다음 설정으로 '/etc/tmp/logrotate.conf' 파일을 생성하거나 수정하십시오. 새로운 설정에 따라 logrotate는 원본 파일 크기를 0으로 만들어 원본 파일의 복사본을 만듭니다.

/ ~였다 / 통나무 / 테스트.로그 {

회전하다 5

크기 1K

복사해 자르기

그의 루트 관리자

}

다음 명령을 실행하여 'test.log' 파일의 크기를 확인하십시오.

$ ㅋㅋㅋ -엘 / ~였다 / 통나무 / 테스트.로그

구성 파일을 생성한 후 'logrotate' 명령을 실행합니다.

$ sudo 로그로테이션 / / tmp / logrotate.conf

'logrotate' 명령을 실행한 후 'test.log' 파일의 크기를 확인하려면 다음 명령을 다시 실행하십시오.

$ ㅋㅋㅋ -엘 / ~였다 / 통나무 / 테스트.로그

copytruncate 설정에 대해 'logrotate' 명령을 실행하면 원본 파일 크기는 0이 됩니다.

예 3: Logrotate 압축 사용

압축 사용을 표시하려면 다음 설정으로 '/etc/tmp/logrotate.conf' 파일을 생성하거나 수정하십시오. 새로운 설정에 따라 logrotate는 원본 파일의 압축 파일을 생성합니다.

/ ~였다 / 통나무 / 테스트.로그 {

회전하다 5

크기 1K

압박 붕대

만들다 770 루트 관리자

}

'/var/log'의 파일 및 폴더 목록을 확인하려면 다음 명령을 실행하십시오.

$ ㅋㅋㅋ / ~였다 / 통나무 /

구성 파일을 생성한 후 'logrotate' 명령을 실행합니다.

$ sudo 로그로테이션 / / tmp / logrotate.conf

'/var/log'의 파일 및 폴더 목록을 확인하려면 다음 명령을 다시 실행하십시오.

$ ㅋㅋㅋ / ~였다 / 통나무 /

“test.log” 파일의 압축파일이 “test.log.1.gz”라는 이름으로 생성되고 원본 파일은 제거됩니다.

예 4: Logrotate Dateext 사용

dateext의 사용을 표시하려면 다음 설정으로 '/etc/tmp/logrotate.conf' 파일을 생성하거나 수정하십시오. 새로운 설정에 따라 logrotate는 날짜 값을 사용하여 원본 파일의 압축 파일을 생성합니다.

~였다 / 통나무 / 테스트.로그 {

그의 루트 관리자

회전하다 5

크기 1K

압박 붕대

만들다 770 루트 관리자

날짜 연장

}

구성 파일을 생성한 후 'logrotate' 명령을 실행합니다.

$ sudo 로그로테이션 / / tmp / logrotate.conf

'/var/log'의 파일 및 폴더 목록을 확인하려면 다음 명령을 실행하십시오.

$ ㅋㅋㅋ -엘 / ~였다 / 통나무 /

“test.log” 파일의 압축파일이 “test.log.20240129.gz”라는 이름으로 생성되고 원본 파일은 제거됩니다.

예 5: Logrotate Maxage 사용

maxage 사용을 표시하려면 다음 설정으로 '/etc/tmp/logrotate.conf' 파일을 생성하거나 수정하십시오. 설정에 따라 logrotate는 하루 후 로그 파일 크기가 1K를 초과하면 5개의 로그 항목을 유지합니다.

/ ~였다 / 통나무 / 테스트.로그 {

그의 루트 관리자

회전하다 5

크기 1K

압박 붕대

최대 1

}

다음 'logrotate' 명령을 실행하여 'out.log'라는 다른 로그 파일에 출력을 저장합니다.

$ sudo 로그로테이션 -에스 = / ~였다 / 통나무 / 아웃.로그 / / tmp / logrotate.conf

다음 출력에 따르면 'logrotate' 명령을 실행한 후 'out.log' 파일이 생성됩니다.

예 6: Logrotate Missingok 사용

다음 설정으로 '/etc/tmp/logrotate.conf' 파일을 생성하거나 수정합니다. 여기서 'testfile.log' 로그 파일은 '/var/log' 폴더에 존재하지 않습니다.

/ ~였다 / 통나무 / 테스트파일.로그 {

그의 루트 관리자

회전하다 5

크기 1K

압박 붕대

}

'logrotate' 명령을 실행하면 오류 메시지가 인쇄됩니다.

logrotate 구성 파일에 'missingok' 설정을 추가하고 'logrotate' 명령을 다시 실행하십시오. 누락된 로그 파일에 대해서는 오류가 인쇄되지 않습니다.

예 7: Logrotate Prerotate 사용

간단한 메시지를 인쇄하는 다음 스크립트를 사용하여 'test.sh'라는 Bash 파일을 만듭니다. 이 파일은 logrotate 구성 파일에서 사전 회전의 사용을 보여주기 위해 이 logrotate 예제에서 사용됩니다.

test.sh



#!/bin/bash

에코 '로그 회전 예제...'

파일을 생성한 후 다음 명령을 실행하여 모든 사용자에 대해 이 파일의 실행 권한을 설정합니다.

$ chmod a+x / / 이해 / test.sh

이제 다음 설정으로 '/etc/tmp/logrotate.conf' 파일을 생성하거나 수정합니다. 설정에 따라 logrotate는 로그 파일의 크기가 1K를 초과하고 회전 전에 “test.sh” 파일이 실행되면 5개의 로그 항목을 유지합니다.

/ ~였다 / 통나무 / 테스트.로그 {

그의 루트 관리자

회전하다 5

크기 1K

미리 회전된

/ / 이해 / test.sh

끝스크립트

}

'logrotate' 명령을 실행한 후 'test.sh' 파일의 출력이 표시됩니다.

결론

이 튜토리얼에서는 Linux 사용자가 명령의 사용법을 알고 로그 파일을 적절하게 관리하는 데 도움이 되는 여러 예를 사용하여 'logrotate' 명령의 다양한 용도를 보여줍니다.