쉘 스크립트를 작성하다가 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를 찍을 수 있다.