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

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

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

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

설치

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

apt install 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 16.04 / SASS 설치하는 방법

우분투 16.04에 SASS를 설치하는 방법은 두 가지가 있습니다. 방법 1 apt install ruby-sass 방법 2 apt install ruby gem install sass 설치되었는지 확인하는 방법 sass -v SASS 버전이 출력되면 제대로 설치된 것입니다. Sass 3.4.23 (Selective Steve) 참고 최신 버전의 SASS를 사용하고 싶다면 방법 2로 설치합니다.

리눅스 / 명령어 / rmdir / 빈 디렉토리 삭제하는 명령어

rmdir rmdir은 빈 디렉토리를 삭제하는 명령어이다. Remove the DIRECTORY(ies), if they are empty. 사용법 rmdir directory a 디렉토리를 삭제한다. # rmdir a  비어있다면 삭제를 하고, 그렇지 않다면 다음을 출력한다. rmdir: failed to remove ‘a’: Directory not empty rmdir --ignore-fail-on-non-empty directory 디렉토리가 비어있지 않아도 메시지를 출력하지 않는다. rmdir -v directory 현재 디렉토리 안에 있는 모든 비어있는 디렉토리를 삭제한다. v 옵션을 넣으면 작업 결과를 ...

당구 / 시스템

당구 / 시스템

당구 시스템을 정리한다. 당점, 보정 등은 개인차가 있으므로, 자신의 스타일에 맞게 조정한다. 하프 시스템(1/2 시스템) 수구 포인트의 절반인 1 쿠션 포인트를 향해 상단 무회전으로 치면 코너를 돌아 나온다. 예를 들어 60 포인트가 시작이라면, 그 절반인 30 포인트를 향해 친다. 회전 1 팁을 추가하면 5 포인트, 2 팁을 추가하면 10 포인트, 3 팁을 추가하면 15 ...

안드로이드 / 앱 / 페이스북 / 뉴스피드에서 동영상 소리, 자동 재생 없애는 방법

안드로이드 / 앱 / 페이스북 / 뉴스피드에서 동영상 소리, 자동 재생 없애는 방법

페이스북 앱의 뉴스피드에 동영상이 있으면 자동으로 재생되고 소리가 난다. 이를 해제하는 방법은... 오른쪽 위의 프로필 아이콘을 누른다. 밑으로 내려와서 을 누른다. 을 누르고... 를 누른다. 를 해제하면, 재생은 되나 소리는 나지 않는다. 재생을 아예 안하고 싶다면 으로 들어가서 설정한다.

리눅스 / 명령어 / cd / 다른 디렉토리로 이동하는 명령어

cd는 change directory의 약자로, 다른 디렉토리로 이동하는 명령어이다. cd 현재 로그인한 사용자의 홈 디렉토리로 이동한다. 일반적으로 root 계정이라면 /root로, 사용자 jb 계정이라면 /home/jb로 이동한다. cd ~user user의 홈 디렉토리로 이동한다. 다음과 같이 명령하면 jb 사용자의 홈 디렉토리로 이동한다. # cd ~jb cd 디렉토리명 지정한 디렉토리로 이동한다. 절대경로, 상대경로 다 사용할 수 있다. 다음과 같이 명령하면 /etc 디렉토리로 이동한다. # cd /etc 현재 ...

워드프레스 / 플러그인 / WP Mail SMTP / 메일 발신 서버 변경 플러그인

워드프레스 / 플러그인 / WP Mail SMTP / 메일 발신 서버 변경 플러그인

워드프레스는 여러 가지 메일을 관리자 또는 사용자에게 보낸다. 메일 발송은 기본적으로 워드프레스가 설치된 시스템을 이용하는데, 시스템 설정에 따라 메일이 나가지 않거나, 메일이 발송되더라도 스팸으로 빠지는 경우가 생길 수 있다. 그런 경우 다른 SMTP 서버로 메일을 발송하여 문제를 해결할 수 있다. WP Mail SMTP는 워드프레스가 다른 SMTP로 메일을 발송하게 해주는 플러그인이다. 사용자가 ...

Ubuntu 18.04 Server / phpMyAdmin 설치하는 방법

Ubuntu 18.04 Server / phpMyAdmin 설치하는 방법

phpMyAdmin은 MySQL, MariaDB를 웹브라우저에서 관리할 수 있게 해주는 소프트웨어입니다. Ubuntu 18.04에 phpMyAdmin을 설치하고 설정하는 방법을 알아보겠습니다. 설치 apt install phpmyadmin 설치하는 과정에서 몇 가지 질문을 합니다. 사용하는 웹서버를 선택합니다. 비밀번호를 정하고... 다시 한 번 입력합니다. Yes를 선택하고 진행하면 설치가 끝납니다. 접속 웹브라우저로 서버 주소에 phpmyadmin을 붙여서 접속합니다. MySQL 또는 MariaDB의 사용자명과 암호를 입력해서 로그인하는데... root 계정으로 접속이 불가능할 수도 있습니다. 만약 root으로 ...

가비아 / 도메인 구입하는 방법

가비아 / 도메인 구입하는 방법

가비아에서 shop 도메인을 500원에 판매하는 이벤트를 한다. 주의할 점은 갱신할 때는 5만 원이라는 것. 잠시 사용할 테스트용 도메인이 필요하여 가비아에서 shop 도메인을 구입했다. 구입하는 과정은 다음과 같다. 회원 가입 가비아에 회원 가입을 먼저 한다. 가입하는 과정은 생략한다. 가비아 홈페이지 : https://www.gabia.com/ 도메인 검색 도메인 사이트(https://domain.gabia.com/)에서 도메인 검색을 한다. 검색어에 대한 다양한 도메인과 가격을 볼 수 있다. ...

네트워크 / TTL(Time To Live)

네트워크 / TTL(Time To Live)

개요 TTL은 Time To Live의 약자로, IP 패킷 헤더의 한 필드이다. TTL 필드는 패킷이 네트워크를 통해 전달될 때 패킷이 머무를 수 있는 최대 홉(hop) 수를 지정한다. 이 필드는 패킷이 무한히 순환하지 않도록 방지하는 데 사용된다. TTL의 동작 방식은 다음과 같다. 패킷이 네트워크를 통해 전송될 때 송신자는 TTL 값을 설정한다. 이 값은 일반적으로 64, ...