쉘 스크립트, stdout & stderr 로그 타임스탬프 찍기

쉘 스크립트를 작성하다가 stdout, stderr 앞에 일반적인 로그처럼 timestamp를 찍고 싶어서 찾아보았다.

[로그 발생 프로그램] | awk '{print strftime("[%Y-%m-%d %H:%M:%S]"), $0}' > [로그 파일]

위와 같이 “awk”를 이용하여 앞에 타임스탬프를 추가할 수 있다. 단, stdout만… 그래서 검색해서 아래와 같이 스크립트를 수정하였다.

[로그 발생 프로그램] 2>&1 >/dev/null | awk '{print strftime("[%Y-%m-%d %H:%M:%S]"), $0}' > [로그 파일]

위와 같이 수정하면 stderr까지 timestamp를 찍을 수 있다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다