본문 바로가기
엑셈 기업문화/엑셈 사람들

[염동환]쉘 프로그래밍, 얕봤다간 큰 코 다칩니다

by EXEM 2008. 7. 25.

사용자 삽입 이미지
멕스게이지 지원을 가다보면 SMS 연동이나 기본 기능 외의 기능을 추가하기 위해 스크립트를 만들거나 서버상에서 추가적인 작업들을 많이 하게 된다.


이때
필요한 기술이 프로그래밍이다.


어떻게
보면 제일 간단하고 쉬운것인데 아주 작은 실수 때문에 오히려 고생할 때가 많다.

 

첫번째 중간중간 파일을 생성하고 읽어야 할경우가 많이 있다. 이때 절대경로를 쓰지 않으면 파일이 어디로 떨어질지 알기 어렵다.

실제로 절대 경로가 아닌 현제 디렉토리 기준에서 작성했다가 고생한적이 있다. 분명히 스크립트만 수행하면 정상적으로 동작하는데 데몬의 띄어 데몬에 의해 수행하게 하면 생성되어야 파일이 생성이 안되는 것이었다.

스크립트가 잘못되었나 계속 확인해 보아도 답이 안나와서 헤메는데 엉뚱한데 파일이 계속 생기고 있었음을 알고 ! 이것때문이구나 하면서 이런 실수를 하다니 하며 고생했던 적이 있다.

 

그리고 두번째가 실행권한이다 파일을 만들게 되면 기본적으로 읽기 쓰기만 되고 실행할수 있는 권한이 빠져있게 된다. 그래서 반드시 실행하기 전에 실행권한을 chmod 바꿨는지 확인해야 한다. 이것도 아주 기본적이지만 쉽게 놓칠 있는 경우이다.

 

서버작업을 제일 많이 했었던 H모증권사에서 있었던 일이다.


여기는
10개정도의 DB 멕스게이지가 설치되어있는데 서버에 SMS연동을 시켜 놓았다. 그날 낮에 열심히 각서버에 SMS 연동 스크립트를 만들어서 그들이 원하는 지표에 대해 그리고 이벤트에 대해 SMS연동을 시켜 놓았다. 그래서 정상적으로 동작하는지 테스트도 해가면서 문자가 잘가는 것을 확인하고 아주 뿌듯하게 나왔었었다. 그런데 다음날 아침 일찍 나를 깨우는 전화가 있었다.

 

바로 H모증권의 담당자였다. 담당자 얘기로 밤새 문자가 날라와서 잠을 잘수가 없었다고 했다. 계속 쉬지않고 와서 문자 수신함이 가득차고 그래서 결국 SMS 서비스가 안되게 데몬을 내려놓기까지 했다는 것이다.

 

이유는 밤마다 배치작업을 하는데 배치작업을 하면 CPU 100%까지 사용되고 각종 이벤트가 발생하는 것이었다. 그래서 결국 SMS문자를 warning 아닌 critical 레벨일때만 갈수 있게 고치고 항목도 줄이고 그리고 밤에는 아예 보내지 않게 다시 수정했다.

 

이번 사건을 통해서 너무 많이 설정하는 것도 좋지 않다는 것을 배우게 되었다.

댓글