나는 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
이제 세 가지 질문이 있습니다.
- WAS의 시스템 로그 파일(SystemOut.log)이 있습니다. echo의 출력을 SystemOut.log 파일에 쓸 수 있습니까?
- 그렇지 않은 경우 foo.log 파일에 날짜/시간 스탬프를 추가하는 방법이 있습니까?
- foo.log 파일이 디스크 공간을 차지하지 않도록 하려면 어떻게 해야 합니까? SystemOut.log 파일은 때때로 압축되어 날짜/시간 스탬프와 함께 저장된다는 것을 알고 있습니다. 어떤 종류의 로그 회전(?) 프로그램이 이를 수행할 수 있다고 생각합니다.
이 문제의 배경은 rhel v6 64비트 시스템에 있습니다.
답변1
귀하의 질문에 대한 답변:
SystemOut.log 파일이 스크립트를 실행하는 동일하거나 더 높은 계정의 소유인 경우, 이에 쓸 수는 있지만 언젠가 제외를 위해 해당 로그를 공급업체에 제공해야 할 수 있으므로 그렇게 하지 않는 것이 좋습니다. 문제 로그에 문제가 있을 수 있으며 최악의 경우 파일 무결성이 손상되었기 때문에 도움을 거부할 수 있습니다(가능성이 높지만 불가능하지는 않음).
파일/디렉터리 소유권 및 권한이 허용하는 한 원하는 곳에 쓸 수 있습니다.
이 로그 파일을 logrotate 범위에 추가하면 원하는 일정에 따라 재활용됩니다. 또는 에코 로그 줄 뒤에 몇 줄을 추가하여 파일을 검사하고, 파일이 10K 줄보다 큰 경우 처음 9K 줄을 잘라내어 어딘가에 압축된 형식으로 저장할 수 있습니다. 그것은 전적으로 당신에게 달려 있습니다.