Ubuntu 16.04 / logrotate 설치하고 설정하기

로그 파일

우분투(Ubuntu)는 여러 작업의 내용을 로그(Log) 파일로 남깁니다. 예를 들어 웹서버 운영과 관련된 로그는 /var/log/apache2에 있습니다.

로그는 기본적으로 하나의 파일에 계속 추가하는 것이어서, 시간이 지날수록 파일의 크기가 커집니다. 로그 파일의 크기가 너무 커지면, 시스템이 느려지거나 다운되기도 합니다.

이러한 문제를 해결해주는 패키지가 logrotate입니다. 로그 파일이 일정 기준을 충족하면 기존 로그 파일을 다른 이름으로 변경하여 저장하고 새로운 로그 파일을 생성합니다. 따라서 로그 파일이 계속해서 커지는 것을 방지할 수 있고, 필요 없는 과거의 로그 파일을 삭제하여 디스크 용량도 절약할 수 있습니다.

logrotate 설치

logrotate가 설치되어 있지 않다면 다음과 같이 명령하여 설치합니다.

apt install logrotate

logrotate 설정

logrotate 기본 설정 파일은 /etc/logrotate.conf이고, 개별 로그 파일 관련 설정 파일들은 /etc/logrotate.d에 있습니다.

예를 들어 apache2 로그 설정 파일은 /etc/logrotate.d/apache2입니다.

/var/log/apache2/*.log {
  daily
  missingok
  rotate 14
  compress
  delaycompress
  notifempty
  create 640 root adm
  sharedscripts
  postrotate
    if /etc/init.d/apache2 status > /dev/null ; then \
      /etc/init.d/apache2 reload > /dev/null; \
    fi;
  endscript
  prerotate
    if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
      run-parts /etc/logrotate.d/httpd-prerotate; \
    fi; \
  endscript
}

몇가지 내용을 살펴보면..

daily

로그 파일 교체 주기입니다. 값으로는 daily, weekly, monthly 등이 가능합니다.

rotate 14

로그파일 개수입니다. 이를 초과하면 순차적으로 삭제합니다.

compress

압축 여부를 정합니다. 값으로는 compress, nocompress가 가능합니다.

잘 작동하는지 확인하기

로그 파일이 다음처럼 만들어지면 잘 작동하는 것입니다.

error.log
error.log.1
error.log.10.gz
error.log.11.gz
error.log.12.gz
error.log.13.gz
error.log.14.gz
error.log.2.gz
error.log.3.gz
error.log.4.gz
error.log.5.gz
error.log.6.gz
error.log.7.gz
error.log.8.gz
error.log.9.gz

같은 카테고리의 다른 글

Ubuntu 20.04 / 고정 IP 설정하는 방법

Ubuntu 20.04 / 고정 IP 설정하는 방법

Ubuntu Server 우분투 20.04의 네트워크 설정 파일은 /etc/netplan 디렉토리 안에 있는 yaml 파일입니다. DHCP로 설치했다면, 설정 파일 내용은 다음과 같습니다. # This is the network config written by 'subiquity' network: ethernets: enp0s3: dhcp4: true version: 2 다음과 같이 수정하고 저장합니다. IP 등은 네트워크 환경에 맞게 ...

Ubuntu 14.04 / LESS 설치하는 방법

Ubuntu 14.04 / LESS 설치하는 방법

우분투 14.04에 LESS를 설치하는 방법을 메모합니다. Node.js 설치 apt-get install nodejs NPM 설치 apt-get install npm LESS 설치 npm install -g less less-plugin-clean-css /usr/local/bin/lessc 파일 첫 줄에 다음과 같은 코드가 있습니다. #!/usr/bin/env node 다음처럼 바꿉니다. #!/usr/bin/env nodejs

Ubuntu 18.04 / 저장소 변경하여 apt-get 패키지 다운로드 속도 높이는 방법

Ubuntu 18.04 / 저장소 변경하여 apt-get 패키지 다운로드 속도 높이는 방법

우분투에서 패키지를 업데이트 하거나 설치하면, 미러 서버에서 소프트웨어를 다운로드하여 설치합니다. 그런데, 그 미러 서버가 멀리 있거나 속도가 느리다면, 패키지를 다운로드하는데 많은 시간이 소요됩니다. 속도가 너무 느려서 불편하다면 저장소를 지정하여 속도를 빠르게 할 수 있습니다. 저장소 설정은 /etc/apt/sources.list에서 합니다. 파일을 텍스트 에디터로 열고 http://archive.ubuntu.com/ubuntu 를 모두 변경합니다. 만약 한국이라면 http://mirror.kakao.com/ubuntu 으로 바꿔보세요. 참고로, 지역별 우분투 미러 서버 리스트는 ...

Ubuntu 16.04 / 메모

Ubuntu 16.04 / 메모

PHP intl 설치 apt install php-intl service apache2 reoad APCu 설치 apt install php-apcu service apache2 reload

Ubuntu 16.04 / Apache / javascript 폴더 접근이 안되는 문제 해결하는 방법

Ubuntu 16.04 / Apache / javascript 폴더 접근이 안되는 문제 해결하는 방법

javascript 폴더 접근 불가 우분투(Ubuntu)에서 아파치(Apache)로 웹서버를 운영할 때 이상한 문제가 하나 발생합니다. 사이트 경로에 javascript가 있으면 forbidden 에러가 나는 것입니다. Forbidden You don’t have permission to access /javascript/ on this server. 이 문제가 발생하는 이유는 자바스크립트 설정 때문입니다. /etc/apache2/conf-available/javascript-common.conf에 다음과 같은 코드가 있습니다. Alias /javascript /usr/share/javascript/ javascript로 접속하면 /usr/share/javascript/로 연결시키라는 뜻입니다. 사이트 접속자는 /usr/share/javascript/에 접속 권한이 없으므로 forbidden 에러가 ...

Ubuntu 18.04 / 메모

Ubuntu 18.04 / 메모

MariaDB / 포트 변경 MariaDB의 기본 접속 포트는 3306입니다. 이를 다른 포트로 변경하고 싶다면 /etc/mysql/mariadb.conf.d/50-server.cnf를 수정합니다. port = 3306 을 찾아서 원하는 포트로 변경한 후 저장합니다. 그리고 MariaDB를 재시작합니다. service mysql restart MariaDB / Can’t connect to MySQL server on … (10061) 다음과 같은 에러를 만났다면… Can't connect to MySQL server on ... (10061) /etc/mysql/mariadb.conf.d/50-server.cnf에 있는 bind-address = 127.0.0.1 를 ...

Ubuntu 20.04 / Samba / 설치하고 공유 폴더 만드는 방법

Ubuntu 20.04 / Samba / 설치하고 공유 폴더 만드는 방법

Samba를 이용하여 Ubuntu Server에 공유 폴더를 만들고, Windows 클라이언트에서 접속하는 방법을 알아보겠습니다. Samba 설치 Samba를 설치합니다. 설치하면 바로 시작하고, 재부팅을 해도 자동으로 시작합니다. apt install samba 공유할 폴더를 만들고 권한을 777로 설정합니다. mkdir /sharedfolder chmod 777 /sharedfolder 설정 파일은 /etc/samba/smb.conf입니다. 텍스트 에디터로 엽니다. vi /etc/samba/smb.conf 제일 밑에 다음 코드를 추가합니다. 폴더 이름은 sharedfolder이지만, 네트워크에서는 Shared Folder로 보입니다. ...

Ubuntu 18.04 / PHP 7.4 설치하는 방법

Ubuntu 18.04 / PHP 7.4 설치하는 방법

Ubuntu 18.04 공시 저장소에 있는 PHP의 버전은 7.2입니다. CentOS보다는 최신 버전의 패키지를 제공하지만, 아주 최신 버전은 아닙니다. 그런데, 특별한 소프트웨어의 경우 PHP 7.2 보다 높은 버전을 요구하기도 합니다. 예를 들어 워드프레스. PHP 7.2에서 잘 사용하고 있는데, 7.3 이상을 권장한다고 메시지가 뜹니다. 그대로 둬도 별 문제는 없을 거 같지만, 오히려 업그레이드를 하면서 ...

Ubuntu 18.04 / 우분투 서버 설치하기

Ubuntu 18.04 / 우분투 서버 설치하기

우분투 서버 18.04를 설치하는 과정을 정리했습니다. 환경은 다음과 같습니다. VirtualBox 가상 머신에 설치 네트워크는 DHCP 기본 설정으로 설치를 했습니다. 고정 IP 설정이나 하드디스크 분할 등 세부적인 내용은 없습니다. 설치할 때 이런 화면이 나오는구나 정도 보실 수 있습니다. 다운로드 우분투 서버는 여기에서 다운로드할 수 있습니다. 18.04 LTS를 다운로드하고 설치하겠습니다. LTS는 long-term support의 약자로, LTS 버전은 2023년 ...

Ubuntu 16.04 / PHP 메모리 늘리는 방법

Ubuntu 16.04 / PHP 메모리 늘리는 방법

php.ini PHP 설정은 php.ini에서 합니다. Ubuntu 16.04에서 php.ini의 위치는 /etc/php/7.0/apache2/php.ini입니다.(PHP 버전에 따라 7.0은 다른 숫자일 수 있습니다.) memory_limit 메모리를 늘리기 위해 수정해야 할 것은 memory_limit입니다. 기본값은 128M입니다. memory_limit = 128M 128을 적절히 변경합니다. 웹서버 다시 시작 또는 다시 로드 변경한 설정이 적용되도록 하려면 웹서버를 다시 시작하거나 다시 로드합니다. Apache 웹서버라면 service apache2 restart 로 다시 시작할 수 있고 service apache2 reload 로 다시 로드할 ...

Ubuntu