
Spring Batch 를 통해 Batch Job을 만들었으면 이걸 주기적으로 돌려주는 무언가가 필요하다. 배치와 스케쥴러를 혼동하는 사람들이 종종 있는데 이것은 완전히 다른 개념이다. 배치는 실시간으로 처리를 하는것이 아닌 일괄 처리를 뜻하며 보통은 특정 시간에 행해진다. 이 특정 시간을 정의해 주는 것은 스케쥴러의 역할이다. 내가 만든 Batch Job을 어느 스케쥴러를 통해서 동작시킬지 먼저 결정을 해야 한다. 선택을 할수 있는건 다음과 같았다. 상용으로 나온 배치 전문 솔루션 Control-M Jenkins의 Schedule(Build Periodically)를 사용하는 방법 Quartz 를 사용해서 자체 제작하는 방법 배치 어플리케이션이 올라갈 서버(linux)의 crontab 을 사용하는 방법..
logback이라던지 log4j2 등 비교적 최근에 나온 logging framework을 사용하면 appender를 이용해 시간이 오래 된 로그를 삭제할 수 있지만 그 전에 나온 log4j 등의 logging framework은 이런 기능이 없다. 따라서 서버에서 오래된 로그를 주기적으로 직접 지워줘야 하는데 이때 사용할수 있는 방법이다. 일단 적당한 위치에 다음과 같은 Shell Script를 작성한다. #!/bin/sh echo "#################### `date` delete log list ###########################" >> /logs/old/deleteOldLog.log find /logs -mtime +30 -type f -ls >> /logs/old/de..