Lifove Story

Shell 스크립트 실행 후 메일 알림 본문

Lifove Programming

Shell 스크립트 실행 후 메일 알림

Lifove 2013. 12. 19. 11:07

연구 목적으로 실험 툴을 개발해서 돌리다 보면, 굉장히 오랫동안 돌려야 하는 실험들이 있다. 그런데 결과가 나오자 마다 곧바로 이어지는 작업을 바로 하고 싶을 때가 있는데, 이럴 때, 실험 툴 실행이 끝날 때 까지 모니터를 바라보면서 기다리는 것은 쉽지가 않다짧게는 한 시간에서, 길게는 몇 주 까지 시간이 걸리는 작업들이 있기 때문이다.

이런 이유에서 보통 리눅스 서버에서 큰 실험들을 돌리는데, 실험이 끝났을 경우, 쉘 스크립트를 통해서, 다음의 한 줄로 실험이 끝났음을 메일로 보내게 할 수 있다. 이 것이 가능하게 하려면, 일단 내가 사용하는 리눅스 서버가 mail 명령어를 지원을 해주어야 한다.

아래는 run.sh라는 쉡 스크립트 예제: 첫 라인은 내가 실제로 수행하는 명령어이고 다음 줄은 작업이 끝나면 "TCA cutoff..finished!"라는 제목(-s 옵션)으로 mymail@example.com으로 메일을 보내라는 명령이다. "< message.txt"는 message.txt파일에 있는 내용을 메일의 메시지로 추가 한다는 부분이다. "< message.txt"대신 "< /dev/null" 을 이용하면, 내용없는 메일을 보낼 수 있다.

matlab -nodesktop -nosplash -r "tcaRunnerForCDDPNoNPCo;quit;"

mail -s "TCA cutoff=0.00 N1 PCo finished!" mymail@example.com < message.txt

이상!

반응형