사용자 정의 로그 파일을 올바르게 작성하고 처리하는 방법은 무엇입니까?

사용자 정의 로그 파일을 올바르게 작성하고 처리하는 방법은 무엇입니까?

나는 WAS(Websphere Application Server)에서 관리 명령을 실행하는 간단한 bash 스크립트를 작성하는 임무를 맡았습니다. /etc/cron.daily 폴더에 넣고 매일 실행하고 싶습니다(언제인지는 모르겠습니다). 그러나 시스템이 이 스크립트의 공간을 실행하기를 원하므로 echo 문을 추가했습니다.

#!/bin/bash
[foo command to execute]
echo "foo command is executed" > /bpm/v8/logs/foo.log

이제 세 가지 질문이 있습니다.

  1. WAS의 시스템 로그 파일(SystemOut.log)이 있습니다. echo의 출력을 SystemOut.log 파일에 쓸 수 있습니까?
  2. 그렇지 않은 경우 foo.log 파일에 날짜/시간 스탬프를 추가하는 방법이 있습니까?
  3. foo.log 파일이 디스크 공간을 차지하지 않도록 하려면 어떻게 해야 합니까? SystemOut.log 파일은 때때로 압축되어 날짜/시간 스탬프와 함께 저장된다는 것을 알고 있습니다. 어떤 종류의 로그 회전(?) 프로그램이 이를 수행할 수 있다고 생각합니다.

이 문제의 배경은 rhel v6 64비트 시스템에 있습니다.

답변1

귀하의 질문에 대한 답변:

  1. SystemOut.log 파일이 스크립트를 실행하는 동일하거나 더 높은 계정의 소유인 경우, 이에 쓸 수는 있지만 언젠가 제외를 위해 해당 로그를 공급업체에 제공해야 할 수 있으므로 그렇게 하지 않는 것이 좋습니다. 문제 로그에 문제가 있을 수 있으며 최악의 경우 파일 무결성이 손상되었기 때문에 도움을 거부할 수 있습니다(가능성이 높지만 불가능하지는 않음).

  2. 파일/디렉터리 소유권 및 권한이 허용하는 한 원하는 곳에 쓸 수 있습니다.

  3. 이 로그 파일을 logrotate 범위에 추가하면 원하는 일정에 따라 재활용됩니다. 또는 에코 로그 줄 뒤에 몇 줄을 추가하여 파일을 검사하고, 파일이 10K 줄보다 큰 경우 처음 9K 줄을 잘라내어 어딘가에 압축된 형식으로 저장할 수 있습니다. 그것은 전적으로 당신에게 달려 있습니다.

관련 정보