썬더메일 엔진 로그 자동 삭제 방법
- 썬더메일 사용안내/CS 건 공유
- 2025. 1. 6.
안녕하세요. 최부장입니다.
썬더메일을 사용하면서 디스크 용량을 차지하는 부분은
- 디비 데이터
- 톰켓 로그 데이터
- 엔진 로그 데이터
이렇게 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월)
- 요일: 0
7 (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, 카카오톡 알림톡, 설문조사(와이즈서베이)