쉘에서 계정용량 출력하여 MySQL에 추가하기
사용자들의 계정확인 페이지에서 계정용량을 확인할 수 있도록 제공하고 있는데 JSP페이지에서 시스템명령을 직접 수행하고 있다.
수행결과는 잘 나오고 있지만 문제는 가끔 Tomcat 서버가 다운이 된다는 것. 톰캣 서버의 로그를 자세히 살펴보기에는 너무 힘들어서 톰캣 서버 다운 문제가 혹시 이 문제가 아닌가 싶어서 계정용량 제공방식을 변경해보기로 했다.
계정용량을 cron을 통해 주기적으로 확인하여 MySQL 데이터베이스에 저장하고 계정용량을 표시할 때는 MySQL의 정보를 뽑아서 보여주기만 하면 된다.
일단 계정용량을 뽑는 명령은 다음과 같다.
du -shm /home/사용자ID | awk -F '[t]' '{print $1}'
du 명령어의 출력결과를 파이프라인을 통해 재처리하는 것인데 처음에는 grep이나 cut 등의 명령으로 수행해봤지만 du 명령의 결과가 탭으로 구분되어있기 때문에 제대로 작동하지 않았다. awk 명령으로 가능할 것 같아서 찾아보니 한참을 찾아내어 위 명령어를 만들었다. 수행해보니 제대로 작동한다.
이제 이 명령어를 MySQL 데이터베이스에 추가하기만 하면 된다.