썬더메일 엔진 로그 자동 삭제 방법

안녕하세요. 최부장입니다.

썬더메일을 사용하면서 디스크 용량을 차지하는 부분은

- 디비 데이터
- 톰켓 로그 데이터
- 엔진 로그 데이터

이렇게 3가지 부분이 되겠습니다.

이중 엔진 로그를 자동 삭제하는 방법을 소개하겠습니다. 톰켓 로그에도 함께 적용 되는 부분이죠.

윈도우는 '오래된 파일 자동 삭제 설정'으로 검색을 하면 관련 프로그램을 찾을 수 있을 것입니다.

리눅스는,

0 0 * * * find /server/ems/workspace/enginelogs/ -type f -mtime +30 -exec rm -f {} +;
0 0 * * * find /server/ems/workspace/logs/ -type f -mtime +30 -exec rm -f {} +;
0 0 * * * find /server/tomcat/apache-tomcat-7.0.103/logs/ -type f -mtime +30 -exec rm -f {} +;

이런 명령어를 크론탭이 등록하면 됩니다.

물론 파일의 경로는 고객사 마다 상이하기 때문에 확인 후 수정하면 되겠습니다.

더보기

이 cron 작업은 매일 자정에 /server/ems/workspace/enginelogs/ 디렉토리 안의 파일 중 마지막 수정 시간이 30일을 초과한 파일을 찾아 삭제하는 명령어다.

  • 0 0 * * *: 매일 자정(00:00)에 실행되도록 설정.
  • find /server/ems/workspace/enginelogs/ -type f: 지정된 디렉토리 내 파일(-type f)만 검색.
  • -mtime +30: 마지막 수정 날짜가 30일 이상 지난 파일만 필터링.
  • -exec rm -f {} +: 필터링된 파일을 강제로(-f) 삭제.

이 작업이 의도대로 작동하려면 cron이 제대로 설정되어야 하며, 디렉토리에 적절한 읽기 및 쓰기 권한이 있어야 한다.

추가적으로, 실수로 중요한 파일을 삭제하지 않도록 백업 정책을 설정하는 것을 추천한다.

크론탭 사용 방법은 하단을 참고하시구요.

crontab -e 명령어 입력 후 vi 에디터 사용하는 방법으로 등록하면 됩니다.

 

 

크론탭(Crontab)은 주기적으로 작업을 자동화할 때 사용하는 도구이다. 다음은 Crontab의 사용 방법이다.


1. Crontab 파일 열기

Crontab 설정 파일을 편집하려면 다음 명령어를 사용한다:

crontab -e
  • 사용자의 Crontab 파일이 열리며, 작업을 추가하거나 수정할 수 있다.

2. Crontab 기본 형식

Crontab 명령은 다음과 같은 형식을 따른다:

분 시간 일 월 요일 명령

각 필드의 의미는 다음과 같다:

  • : 0~59 (예: 0, 30)
  • 시간: 0~23 (예: 14는 오후 2시)
  • : 1~31 (예: 15는 15일)
  • : 1~12 (예: 1은 1월)
  • 요일: 07 (0과 7은 일요일, 16은 월~토)
  • 명령: 실행할 명령어나 스크립트 경로

3. 특수 문자

  • *: 모든 값 (예: 매분, 매시간 등)
  • ,: 여러 값을 지정 (예: 1,15는 1분과 15분)
  • -: 범위를 지정 (예: 1-5는 1~5)
  • /: 간격을 지정 (예: */5는 5분 간격)

4. 예제

(1) 매일 자정에 스크립트 실행

0 0 * * * /path/to/script.sh

(2) 매주 월요일 오전 9시에 백업 실행

0 9 * * 1 /path/to/backup.sh

(3) 매 5분마다 로그 파일 삭제

*/5 * * * * find /path/to/logs/ -type f -mtime +7 -exec rm -f {} +

(4) 매달 1일 오전 3시에 데이터베이스 백업

0 3 1 * * /path/to/db_backup.sh

5. Crontab 작업 확인

현재 설정된 Crontab 작업을 확인하려면:

crontab -l

6. Crontab 작업 삭제

Crontab 작업을 삭제하려면:

crontab -r
  • 주의: 이 명령은 모든 작업을 삭제한다. 특정 작업만 삭제하려면 crontab -e로 편집 후 해당 작업을 제거한다.

7. 로그 확인

Crontab 실행 결과를 확인하려면 /var/log/syslog나 /var/log/cron 파일을 확인한다:

grep CRON /var/log/syslog

이와 같이 Crontab을 활용하면 다양한 자동화 작업을 효율적으로 관리할 수 있다.

안녕하세요. 썬더메일입니다. 영업문의: 070-7095-9792 , 기술문의: 070-7095-9794 , 메일문의처
지원 서비스: 대량ㆍ자동메일(API포함), 대량ㆍ자동SMS, 카카오톡 알림톡, 설문조사(와이즈서베이)

댓글