저는 Linux를 처음 사용하지만 VPS를 사용하여 웹 사이트를 호스팅하려고 합니다. 나는 그것에 대해 읽었고 누군가가 모든 로그가 회전되고 압축되었는지 확인해야 한다고 언급했지만 그 방법을 이해하지 못합니다. Plesk를 사용할 예정이지만 일부 로그만 덮어쓰게 됩니다. 그렇다면 모든 로그가 순환되도록 하려면 어떻게 해야 합니까? grep/cat을 사용하는 것보다 더 쉽게 볼 수 있는 방법이 있습니까?
답변1
Eight Bit Tony가 지적한 내용을 구체화하려면 다음과 같이 하세요 logrotate
.
logrotate
명령줄에서 실행할 수 있는 독립 실행형 프로그램입니다. 주요 문서 man logrotate
는 형식에 대한 섹션이 있는 매뉴얼 페이지( )입니다.구성 파일. 기본 프로필은 없습니다. 반드시 지정해야 합니다. 일반적으로 logrotate는 를 통해 실행되므로 cron
cron 구성(명시적인 logrotate 구성 파일은 물론)에서 이에 대한 참조를 찾을 수 있습니다. Fedora 파생 제품(예: CentOS) 에서는 /etc/logrotate.conf
. include
매뉴얼 페이지의 구성 파일 섹션("logrotate 구성 파일에 포함될 수 있는 지시어에 대한 추가 정보는 다음과 같습니다." 아래)에서 확인할 수 있습니다.
포함[파일 또는 디렉터리]
include 지시어가 나타나는 곳에 인라인으로 포함된 것처럼 인수로 주어진 파일을 읽습니다. 디렉토리가 제공되면 해당 디렉토리에 있는 대부분의 파일은 포함된 파일 처리를 진행하기 전에 알파벳 순서로 읽혀집니다. 무시되는 유일한 파일은 비정규 파일(디렉토리 및 명명된 파이프 등)인 파일과 이름이 tabooext 지시어에 지정된 금기 확장자 중 하나로 끝나는 파일입니다.
지시문은 서로 대체할 수 있고(모순 및 재정의) 섹션 시작 부분에서 인라인으로 처리되기 때문에 흥미롭습니다. "각 프로필은 전역 옵션을 설정할 수 있습니다(로컬 정의는 전역 옵션을 재정의하고 이후 정의는 이전 정의를 재정의합니다)." 따라서 파일을 포함시킨 후 그 안에 있는 지시문과 모순되면 마지막 지시문이 우선합니다. 맨페이지를 읽는 데 익숙해지세요! 그들은 당신의 친구입니다!
당신의 것을 보면 /etc/logrotate.conf
다음과 같은 줄을 찾을 수 있습니다.
include /etc/logrotate.d
그리고 /etc/logrotate.d
디렉토리가 될 것입니다. 이를 통해 개별 애플리케이션은 개별 로그를 적절하게 회전할 수 있도록 여기에 파일을 추가할 수 있습니다. 분명히 당신은 당신 자신을 추가하고 원하는 것을 수정할 수 있습니다.
처음에 매뉴얼 페이지가 약간 복잡하다고 생각되면 logrotate 튜토리얼을 참조할 수 있습니다. 이것은 훌륭한 도구입니다. 가장 쉬운 방법은 실험적인 conf 파일을 설정하는 것입니다.기본 디렉터리 외부명령줄에서 지정하여 이를 실행할 수 있습니다. 실험할 때 혼란을 일으키지 않도록 구체적인 내용을 참조하고 작업 방식을 이해할 수 있어야 합니다.
cron을 통해 logrotate를 실행할 필요는 없습니다. 서버 관리 방식에 따라 수동으로 또는 다른 방법을 통해 실행할 수 있습니다.
답변2
일반적인 로그 파일 형식의 경우 많은 Linux 배포판에는 기본적으로 로그 회전이 포함되어 있습니다. CentOS가 포함되어 있는지 알 수 있을 만큼 잘 모르지만 구성은 일반적으로 ( /etc/logrotate*
예: /etc/logrotate.conf
및/또는/etc/logrotate.d/
따라서 기본 로그 파일에 대해 이야기하고 있다면 아마도 이미 다루었을 것입니다. Logrotate는 일반적으로 로그가 생성된 원래 디렉터리에 회전된(선택적으로 압축된) 로그를 보관하며(물론 각 로그는 다름) 대부분의 운영 체제 로그는 /var/log(많은 배포 버전에서)에서 찾을 수 있습니다.
패키지 관리자와 휴먼 패키징 소프트웨어가 포함된 Linux 배포판은 일반적으로 로그가 있는 항목을 설치할 때 관련 logrotate 위치에 새 항목이 배치되도록 보장합니다. 이는 소스 코드를 다운로드하고 컴파일하는 것만으로는 얻을 수 없는 Linux 배포판을 사용하여 "얻을 수 있는" 기능 중 하나입니다. 이는 보장되지 않으며 일부 패키지 소프트웨어에는 포함되어 있지 않지만 그렇지 않은 경우보다 더 일반적입니다.
로그를 보고하려면(모든 로그를 읽고 싶지는 않음) logwatch
CentOS에 포함된 것과 같은 솔루션을 살펴봐야 합니다. 서버의 모든 일반 로그 파일에 대한 일일 보고서와 요약을 이메일로 보내도록 구성할 수 있습니다.
서버가 1~2개면 괜찮지만, 6개 이상의 서버가 있고 다른 것이 필요한 경우 처리하기에는 너무 많습니다.