🤔 Question
👉 Tomcat 서버에서 catalina.out 파일이 생성되지 않는 문제는 일반적으로 다음과 같습니다. 저는 보통, 톰캣 서버 제대로 안 껐다 킨 경우였습니다. 혹시 모르니 해결 방법을 하나씩 확인해 보세요.
🎯 Tomcat을 완전히 재시작하기
👉 Tomcat은 실행 중일 때 catalina.out을 사용하고 있기 때문에, 실행 중에 파일을 삭제하면 더 이상 로그를 기록하지 않을 수 있습니다.
✅ 해결 방법:
systemctl stop tomcat # 또는
service tomcat stop # 또는
./shutdown.sh # Tomcat 수동 종료
rm -f $CATALINA_HOME/logs/catalina.out # 파일 완전히 삭제
systemctl start tomcat # 또는
service tomcat start # 또는
./startup.sh # Tomcat 수동 시작
Tomcat을 완전히 종료한 후 파일을 삭제하고 다시 시작하면 자동으로 생성됩니다.
🎯 파일 권한 문제 확인
👉 Tomcat이 실행되는 사용자(tomcat 또는 root)가 logs 디렉터리에 쓰기 권한이 없으면 catalina.out을 생성할 수 없습니다.
✅ 권한 검토 명령어:
ls -ld $CATALINA_HOME/logs
ls -l $CATALINA_HOME/logs/catalina.out # (파일이 있으면 권한 확인)
✅ 권한 검토 결과 예시:
drwxr-xr-x 2 tomcat tomcat 4096 Feb 10 10:00 logs
-rw-r--r-- 1 tomcat tomcat 123 Feb 10 10:05 catalina.out
✅ 해결 방법:
chown -R tomcat:tomcat $CATALINA_HOME/logs
chmod 755 $CATALINA_HOME/logs
🎯 디스크 공간 확인
👉 서버의 디스크 공간이 부족하면 catalina.out이 생성되지 않을 수 있습니다.
df -h
디스크가 가득 찼다면 불필요한 로그 파일을 삭제하거나 용량을 확보하세요.
🎯 logrotate 수동 실행
👉 시스템에서 logrotate가 catalina.out을 관리하는 경우, 설정이 잘못되어 로그가 생성되지 않을 수 있습니다.
✅ 해결 방법:
/etc/logrotate.d/tomcat 또는 /etc/logrotate.d/catalina 파일을 확인
copytruncate 옵션이 있는지 확인 (없으면 추가)
마지막으로 logrotate 수동 실행!
logrotate -f /etc/logrotate.d/tomcat
☔ 정리
👉 Tomcat 완전 재시작 (shutdown.sh, rm catalina.out, startup.sh), logs 폴더 및 catalina.out의 권한 문제 해결, 디스크 공간 확인 (df -h), logrotate 설정을 확인하고 copytruncate 적용!
위 방법을 하나씩 적용하면서 문제를 해결해 보세요. 🚀
If I was of any help to you, please buy me coffee 😿😢😥
If you have any questions, please leave them in the comments
[2] Ads : https://play.google.com/store/apps/details?id=io.cordova.seoulfilter