OS  Log성 파일 관리 Shell

OS Log성 파일 관리 Shell



개발목적 : Log File은 어떤 System을 가더라도 존재하기 마련이다. 이러한 Log File들을 관리 없이 그대로 방치하게 된다면 System 성능에 무리를 주게 된다. 이러한 이슈를 해결하고자 자동으로 생성되는 Log들을 대상으로 통합적으로 관리할 수 있도록 Shell을 작성한다. 리눅스 명령어에 대한 전반적인 이해와 DB운영에 있어 이슈가 될 만한 부분들을 자동적으로 관리하기 위한 목적으로 작성한다.

개발환경 : Ubuntu, Bourne Shell

구현내용 :

관리의 용이함을 위한 Split, Compress, Delete 수행 주기를 일 단위로 입력받는다.

사용자는 파일 리스트만을 관리하므로 수정 혹은 삭제가 가능하도록 제작한다.

crontab을 이용해 일 단위로 서비스 점검 시간에 맞춰 수행하도록 설정한다.

file list 등록 화면

전체적인 흐름도

구성

구분

구현내용

파일 리스트

log file들의 filepattern, 삭제, 스플릿의 주기와 수행 여부를 입력 받아 list형식으로 받게 제작하였다.

스플릿

쌓이는 log 파일을 출력 리다이렉션을 이용해 새로운 파일로 작성하고 그 파일들을 파일 리스트의 정보에 따라 스플릿 하게 제작하였다.

압축

저장되고 있는 log 파일들을 더욱 효율적인 메모리 공간 사용을 위해 파일 리스트의 정보에 따라 압축하도록 제작하였다.

삭제

저장되고 있는 log 파일들을 파일 리스트의 정보에 따라 삭제하도록

제작하였다.

나의 의견

처음 배우고 처음 다뤄본 Linux Shell이었지만, 처음이라는 만큼 많이 시간과 애착을 들여 작성한 Shell입니다.

테스트 환경이기 때문에 log file을 테스트하기에 직접 Shell에서 발생하는 에러를 경험하기가 어려웠습니다.

또 처음 알고리즘을 만들고 제작하였지만, 추가되는 부분에 있어 엉키는 부분이 생겨 다시 알고리즘을 그리고

제작한 고난도 있었습니다. 덕분에 알고리즘의 중요성도 재차 느끼게 되었습니다. Shell을 다른 환경으로

들고 갔을 때, 작동이 되지 않았고 이식성에 대해 고려도 해봐야 한다고 생각하여 작성하였습니다.


'Study Note > My work' 카테고리의 다른 글

Rand() 함수를 이용하여 C언어 게임 만들기  (0) 2016.03.07
Motion Controller  (0) 2016.01.25
주차 예약 시스템  (0) 2016.01.25
Android Application을 이용한 LED 제어  (0) 2016.01.25
라인트레이서  (3) 2016.01.25

+ Recent posts