웹 어플리케이션을 사용하다보면 Log에 대한 내역을 신경써야 한다. 사용자 인입이 늘어나면 늘어날수록 로그 파일이 비대화 되는 걸 무한정 방치할수 없다. 한정된 리소스를 가지고 서버를 운영하는 부분이기도 하고 Cloud환경이여도 사양을 추가할수록 모든 내역이 비용으로 산정되기 때문입니다.
✌️Logrotate 특장점 및 내용
1. 개발환경 (RHEL/CentOS 8이상, RHEL/CentOS 7이상)
2. 기본 리눅스 설치시에 기본으로 설치가 되어있으나 설치방법
[root@rac1 ~]# rpm -ivh logrotate-3.8.6-17.el7.x86_64.rpm
[root@rac1 ~]# rpm -qa logrotate
logrotate-3.8.6-17.el7.x86_64
3. 동작순서
3-1. cron.daily 에서 /usr/sbin/logrotate 호출
3-2. /usr/sbin/logrotate 에서 /etc/logrotate.conf 설정파일 참조
3-3. /etc/logrotate.conf 설정 파일에서 /etc/logrotate.d 참조
( logrotate.conf 파일 안에 "include /etc/logrotate.d")
3. 옵션
ㅇ[yearly, monthly, weekly, daily] 주기 옵션으로 로테이트를 실행할때 로그를 어떤 주기로 로테이트를 할지 선택
ㅇ[rotate] [숫자] 로그파일의 개수가 숫자이상이면 가장 오래된 로그파일을 삭제합니다.
ㅇ[create] [권한] [유저] [그룹] 로테이트 될때 생성되는 로그파일 권한 및 소유자 지정
ㅇ[notifempty] 로그 내용이 없으면 로테이트를 실행하지 않음 이와 반대로
ㅇ[ifempty] 로그 내용이 없어도 로테이트를 진행
ㅇ[compress] 로테이트로 생성되는 로그파일 gzip으로 압축생성
ㅇ[nocompress] 로테이트로 생성되는 로그파일을 압축하지 않고 생성
ㅇ[dateext] 로테이트 파일의 이름에 날짜가 들어가도록 생성
ㅇ[maxage] [숫자] 파일이 지정일 이상되면 삭제
ㅇ[postrotate] 실행후 스크립트 파일 실행
ㅇ[endscript] 스크립트를 실행하는 옵션 다음에 들어가야하는 옵션
ㅇ[copy] 로그 파일의 카피를 생성한다.이 옵션을 사용하면, 이미 낡은 로그 파일이 존재하게 되므로, create 옵션은 무효가 된다.
ㅇ[copytruncate] 카피의 작성 후에 로그 파일을 이동하는 대신에, 오리지날의 로그 파일을 아무것도 저장되지 않은 로그로 다시 만든다. 어느 프로그램이 로그 파일을 닫지 못하고, 언제까지 전의 로그 파일에 계속 쓰고 있는 경우 등에 유효한 옵션이다. 다만 파일을 카피하는 순간의 로그가 소실되는 가능성이 높다.
ㅇ[extention] 로테이션 후의 백업 로그에 부가하는 확장자(extension)를 지정한다. ext에는 파일의 확장자(extension)를을 지정한다. compress 옵션을 지정했을 경우에는, 여기서 지정한 확장자(extension)의 뒤에,. gz등의 확장자(extension)가 부가된다.
ㅇ[ifrotate] 만약 로그 파일이 공백이었다고 해도 로테이션 시킨다. 디폴트로 유효하게 되어 있다.
ㅇ[mail] 로그 파일의 로테이션이 완료한 시점에서, mail 옵션의 인수로서 설정된 메일 주소에 메일을 보낸다.
ㅇ[mailfirst] mail 옵션 사용시에, 로테이션 할 예정의 파일을 메일로 출력한다.
ㅇ[maillast] mail 옵션 사용시에, 로테이션 한 파일을 메일로 출력한다.
ㅇ[missingok] 로그 파일이 발견되지 않았던 경우, 에러 메세지를 출력하지 않고 다음의 로그 파일의 처리로 이행한다.
ㅇ[size] size 옵션의 파라미터로서 준 수치보다 로그 파일의 사이즈가 클 경우, 로그 파일의 로테이션을 실시한다."M"(메가)나"K"(킬로)를 지정할 수 있다. [숫자 K,M,G] 로그 파일이 크기가 설정보다 커지면 로테이트 실행
ㅇ[start] 로테이션 하는 경우에, 부가되는 숫자의 확장자를 몇부터 시작하는지를 지정한다. 디폴트에서는 1 이다.
4. /etc/logrotate.d -> 설정 예시
경로/catalina.out {
copytruncate // 기존파일을 Copy를 하고 원본파일을 다시 만듬
daily rotate 60 // 로그에 대한 보관 주기
compress missingok dateext // 로테이트로 생성되는 로그파일 gzip으로 압축생성
notifempty // 로그 내용이 없으면 로테이트를 실행하지 않음 이와 반대로
}
✌️ 알아가기 Linux 종류 및 배포판
Linux는 1991년 핀란드의 리누스 토발즈(Linus Torvalds)가 개발한 운영체제 커널입니다. 당시에는 개인용 컴퓨터가 점점 보급되면서 운영체제의 필요성이 대두되었고, 특히 유닉스(UNIX)와 같은 운영체제는 비싼 가격과 소스코드의 비공개로 인해 개인 사용자들에게는 접근이 어려웠습니다.
리눅스 토발즈는 이러한 상황에서 개인용 컴퓨터에서도 사용할 수 있는 무료 운영체제를 개발하고자 하였습니다. 그리고 이를 위해 1991년에 Linux 커널을 처음 개발하여 인터넷 상에 공개하였습니다. 이후 많은 개발자들이 Linux 커널에 참여하면서 오픈소스 커뮤니티가 형성되었고, Linux 운영체제는 현재까지도 계속해서 발전하고 있습니다. Linux는 오픈소스 기반의 운영체제로서 무료로 사용할 수 있으며, 안정성과 보안성이 뛰어나기 때문에 서버와 같은 대규모 시스템에서 많이 사용됩니다.
- Ubuntu: 대표적인 데스크톱용 리눅스 배포판으로, 전 세계적으로 가장 많이 사용되고 있습니다.
특히, 개인용 컴퓨터에서의 사용이 많습니다.
- CentOS: 기업용 리눅스 배포판으로, Red Hat Enterprise Linux(RHEL)의 소스 코드를 기반으로
개발되었습니다. RHEL과 완벽하게 호환되므로 기업에서 많이 사용됩니다.
- Debian: 안정성과 보안성이 높은 리눅스 배포판으로, 서버나 네트워크 기기 등에서 많이 사용됩니다.
- Fedora: Red Hat이 후원하는 커뮤니티 기반 리눅스 배포판으로, 최신 기술을 적용하고자 하는 사용자들이
많이 사용합니다.
- OpenSUSE: 오픈소스 커뮤니티가 개발하고 있는 리눅스 배포판으로, 기업용이나 개인용 컴퓨터에서 모두
사용되고 있습니다.
이 외에도 Arch Linux, Manjaro Linux, Kali Linux 등 다양한 리눅스 배포판이 있으며, 각각의 사용
점유율은 지역, 분야, 용도 등에 따라 차이가 있습니다.
리눅스 배포판의 종류
대중적으로 많이 사용하는 리눅스 배포판의 경우 아래와 같습니다.
CentOS (Community Enterprise Operating System)는 Red Hat Enterprise Linux (RHEL) 소스 코드를 기반으로한 무료 및 오픈 소스 리눅스 배포판입니다.
CentOS 7은 2014년 7월에 출시되었습니다. 이전 버전인 CentOS 6은 2011년에 출시되어, CentOS 7은 약 3년 만에 출시된 것입니다.
CentOS 7은 RHEL 7의 기술적인 변경 사항을 포함하고 있으며, 다음과 같은 주요 변경 사항이 있습니다:
systemd 이용: CentOS 7은 System V 초기화 시스템 대신 systemd를 사용합니다. systemd는 더욱 빠르고 안정적인 부팅 및 서비스 관리를 제공합니다.
XFS 파일 시스템 기본 제공: CentOS 7은 XFS 파일 시스템을 기본으로 제공합니다. 이는 대용량 파일 및 파일 시스템 처리에 더욱 적합합니다.
개선된 보안 기능: CentOS 7은 SELinux 보안 모듈을 포함하여 더욱 강력한 보안 기능을 제공합니다.
GNOME 3.8 데스크톱 환경: CentOS 7은 GNOME 3.8을 기본 데스크톱 환경으로 제공합니다.
네트워크 관리 변경: CentOS 7은 NetworkManager를 이용하여 더욱 편리한 네트워크 관리를 제공합니다.
CentOS 7은 지속적으로 업데이트 및 보안 패치가 제공되어 왔으며, 2020년 6월에는 CentOS 8이 출시되었습니다. 그러나 2020년 12월, CentOS 8의 개발 방향을 바꾸는
Red Hat의 결정으로 CentOS Stream이라는 새로운 프로젝트가 시작되면서, CentOS 7은 계속해서 지원될 예정입니다.
Red Hat Linux는 리눅스 기반의 운영체제 중 하나로, 현재는 레드햇(Red Hat)이라는 기업에서 제공하는 엔터프라이즈용 리눅스 배포판입니다.
Red Hat Linux는 1994년 마크 이워즈(Marc Ewing)가 개발한 Red Hat Linux 1.0부터 시작되었습니다. 이후에는 Red Hat Linux 2.0, 3.0, 4.0 등의 버전이 출시되면서 점차적으로 인기를 끌었습니다. 특히, 1998년에 출시된 Red Hat Linux 5.0부터는 RPM(Red Hat Package Manager)이라는 패키지 관리 시스템을 도입하여 사용자들이 손쉽게 소프트웨어를 설치하고 관리할 수 있게 되었습니다.
그러나, Red Hat Linux는 일반 사용자를 대상으로 한 무료 배포판이었기 때문에, 기업용으로 사용하기에는 제한이 있었습니다. 이에 Red Hat은 2002년 Red Hat Enterprise Linux(RHEL)이라는 엔터프라이즈용 배포판을 출시하였습니다. RHEL은 기업용으로 사용하기에 필요한 안정성, 보안성, 지원 등을 제공하며, 현재까지도 많은 기업에서 사용되고 있습니다.
그리고 2014년에는 Red Hat은 CentOS라는 무료 리눅스 배포판을 인수하였습니다. CentOS는 RHEL의 소스 코드를 기반으로 개발되어 무료로 제공되며, RHEL과 완전히 호환되는 기능을 제공합니다. 이를 통해 Red Hat은 기업용과 개인용 모두에게 다양한 선택지를 제공하고 있습니다.
우분투(Ubuntu)는 데비안(Debian) 리눅스 계열의 배포판으로, 컴퓨터 운영체제로 사용되며, 1991년 리누스 토르발스가 개발한 리눅스 커널에서 파생되었습니다.
우분투 프로젝트는 2004년에 시작되었으며, 마크 셔틀워스(Mark Shuttleworth)가 주도하고 있습니다. 이 배포판은 무료로 제공되며, 개인용 및 기업용으로 모두 사용됩니다. 또한, 우분투는 컴퓨터 사용자를 대상으로한 개인용 데스크탑, 서버, IoT 등 다양한 분야에서 사용할 수 있습니다.
우분투는 매년 두 번씩 새로운 버전이 출시되고 있으며, 현재는 21.04 버전이 최신입니다. 이전 버전에는 20.04 LTS(Long-Term Support)와 18.04 LTS 등이 있습니다. LTS 버전은 긴 기간 동안 지원되는 안정적인 버전으로, 기업에서 많이 사용됩니다.
우분투는 개방성, 안정성, 안전성, 유연성, 사용성 등의 장점으로 널리 사용되며, 개발자, 기업, 정부 기관 등에서 많이 사용됩니다.
Debian은 1993년 Ian Murdock이 개발한 리눅스 배포판입니다. 그는 이 배포판을 개발할 때, 커뮤니티 기반의 개발과 엄격한 프리 소스 소프트웨어 정책을 중요시했습니다. 이는 Debian의 대표적인 특징 중 하나로 남았습니다.
1993년에 최초 버전이 출시되었으며, 이후 Debian은 계속해서 개발이 이루어졌습니다. 많은 사람들이 Debian 기반의 배포판을 만들어내고 있습니다. Debian은 대표적인 리눅스 배포판 중 하나로 널리 알려져 있으며, 안정적이고 보안성이 뛰어난 운영 체제로 인기를 얻고 있습니다.
Debian의 버전은 각각 이름이 붙여지며, 알파벳 순서대로 진행됩니다. 이러한 이름은 애완동물의 이름을 따온 것입니다. Debian의 대표적인 버전으로는 Debian 2.0 Hamm, Debian 3.0 Woody, Debian 4.0 Etch, Debian 5.0 Lenny, Debian 6.0 Squeeze, Debian 7.0 Wheezy, Debian 8.0 Jessie, Debian 9.0 Stretch, Debian 10 Buster가 있습니다.
Debian은 여러 CPU 아키텍처와 함께 사용 가능하며, 현재는 AMD64, ARM64, ARMEL, ARMHF, i386, MIPS, MIPS64EL, MIPS64EL-musl, MIPS64EL-mipsn32, MIPS64EL-mipsn32-musl, MIPS64EL-mipsn32el, MIPS64EL-mipsn32el-musl, MIPS64EL-mipsn64, MIPS64EL-mipsn64-musl, MIPS64EL-mipsn64el, MIPS64EL-mipsn64el-musl, PPC64EL, S390X, X32 등의 아키텍처를 지원하고 있습니다.
SUSE Linux는 독일의 SUSE GmbH에서 개발한 리눅스 배포판입니다. 초기에는 Slackware Linux를 기반으로 한 버전이었으나, 이후에는 자체적으로 개발된 패키지 관리 시스템인 YaST(Yet another Setup Tool)를 채택하면서 독자적인 개발 방향을 강조하게 되었습니다.
SUSE Linux는 1992년에 처음 출시되었으며, S.u.S.E(소프트웨어 und System-Entwicklung, ‘소프트웨어 및 시스템 개발’의 약자)라는 이름으로 시작되었습니다. 이후 2003년에는 Novell에 인수되어 Novell SUSE Linux Enterprise로 변경되었습니다. 2011년에 Attachmate Group이 Novell을 인수하면서 SUSE Linux는 Attachmate Group의 자회사로 이관되었습니다. 그러나 2014년에는 SUSE가 Attachmate Group에서 독립하여 SUSE LLC로 재조직되었습니다.
SUSE Linux는 다양한 버전을 제공하며, 서버 및 클라이언트와 같은 엔터프라이즈 환경에서 많이 사용됩니다. 이 배포판은 기업에서의 안정성과 보안성, 그리고 커뮤니티에서의 개방성과 다양성을 동시에 제공하고 있습니다. SUSE Linux는 현재도 지속적으로 업데이트 및 개선이 이루어지며, 오픈 소스 소프트웨어의 활용과 발전에 큰 역할을 하고 있습니다.
Oracle Linux는 리눅스 배포판 중 하나로, 오라클에 의해 개발 및 유지보수되고 있습니다. 이 배포판은 Red Hat Enterprise Linux (RHEL)을 기반으로 만들어졌습니다.
Oracle Linux는 RHEL의 소스 코드를 기반으로 하지만, Oracle에서는 더 많은 기능과 보안 업그레이드를 제공합니다. 이는 Oracle Linux의 대표적인 특징 중 하나로 남았습니다.
Oracle Linux는 2006년 Oracle이 오픈 소스 커뮤니티에 참여하기 시작한 이후에 개발되기 시작했습니다. 그 이후, Oracle은 다양한 엔터프라이즈 솔루션과 함께 Oracle Linux를 출시하며, 이 배포판은 현재도 지속적으로 업데이트되고 있습니다.
Oracle Linux는 기본적으로 무료로 사용할 수 있으며, 고객 지원 서비스도 제공됩니다. 이 배포판은 오라클의 다른 제품과의 통합이 용이하며, 대규모 데이터베이스 환경에서 많이 사용됩니다.
Oracle Linux의 버전은 RHEL과 동일하게 숫자로 표기됩니다. 현재 Oracle Linux 7과 Oracle Linux 8이 사용 가능합니다. Oracle은 또한 Oracle Linux의 신뢰성과 보안성을 높이기 위해 Unbreakable Enterprise Kernel을 개발하여 제공하고 있습니다.
Fedora는 레드햇(Red Hat)에서 개발하고 있으며, 리눅스와 같은 오픈 소스 운영 체제(OS)를 기반으로하는 커뮤니티 중심의 배포판입니다. Fedora는 리눅스 커널을 사용하며, GNU 프로젝트의 도구 및 라이브러리와 같은 오픈 소스 소프트웨어를 사용합니다.
Fedora는 Fedora Project라는 커뮤니티에서 개발되고 있으며, 이는 레드햇의 지원을 받고 있습니다. Fedora Project는 사용자와 개발자를 대상으로한 오픈 소스 소프트웨어 커뮤니티입니다. 이 프로젝트는 Fedora Linux를 비롯하여, 다양한 오픈 소스 소프트웨어 프로젝트와 함께 활동하고 있습니다.
Fedora는 2003년 레드햇에서 개발되었으며, Red Hat Linux의 후속 버전으로 개발되었습니다. Fedora는 레드햇의 기술과 노하우를 기반으로 개발되며, 리눅스 커널 및 오픈 소스 소프트웨어의 최신 버전을 제공합니다.
Fedora의 버전은 숫자로 표시되며, 6개월마다 새로운 버전이 출시됩니다. 이러한 버전은 일반적으로 최신 기술과 개선 사항을 반영하고 있습니다. Fedora는 개발자 및 엔터프라이즈 사용자를 대상으로한 다양한 기능을 제공하며, 새로운 기술을 적극적으로 적용하고 있는 배포판 중 하나입니다.
Ref. https://myelincloud.com/%EB%A6%AC%EB%88%85%EC%8A%A4-linux-%EC%9D%98-%EC%A2%85%EB%A5%98%EB%B0%8F-%EA%B5%AD%EB%82%B4-%EC%97%90%EC%84%9C-%EB%A7%8E%EC%9D%B4-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EB%B0%B0%ED%8F%AC%ED%8C%90/
Ref. http://www.chlux.co.kr/bbs/board.php?bo_table=board02&wr_id=91&sca=OS&page=3
Ref. https://blog.naver.com/hanajava/221425717084
'💛03_Server & OS > 03_Linux' 카테고리의 다른 글
#리눅스 #tar #압축 #압축풀기 #옵션 (0) | 2024.06.26 |
---|---|
#Linux #encoding #vi #파일인코딩확인 (0) | 2024.05.30 |
#자주사용하는 #Linux #명령어모음집 (0) | 2023.11.15 |
#Linux #사용자 #비밀번호변경 #passwd #DBSAFER #명령어 (0) | 2023.11.10 |
#Linux #명령어 #자주사용명령어요약 (0) | 2023.09.25 |
댓글