기록하는 동안 로그 파일이 잘리는 원인은 무엇입니까?

기록하는 동안 로그 파일이 잘리는 원인은 무엇입니까?

직장에서 나는 네트워크 서버 관리 책임을 물려받았습니다. Amazon AWS EC2에서 실행되는 CentOS Linux 가상 머신입니다. 웹 페이지를 제공하는 것 외에도 많은 예약된 작업, 백그라운드 처리 및 데이터베이스 작업이 발생합니다.

방금 저는 Oracle SQL*Plus라는 Bash 스크립트를 수동으로 실행하고 있었습니다. 이 스크립트는 UPDATE 문 페이로드가 포함된 SQL 스크립트를 읽고 구체화된 뷰 새로 고침을 호출했습니다. 어쩌면 이 중 아무 것도 관련이 없을 수도 있지만 몇 가지 맥락을 제공하고 싶었습니다.

Bash 스크립트는 의 로그 파일에 출력을 기록 /tmp하고 이 명령을 사용하여 tail -f output.log출력을 모니터링합니다. 오랜 시간(약 20분) 동안 실행되고 출력이 터미널에 천천히 표시되지만 다음 메시지가 표시됩니다. tail: output.log: file truncatedBash 스크립트 실행이 중지되었습니다. 로그 파일이 존재 /tmp하지만 크기가 0입니다. 문제를 해결할 수 있도록 로그 파일을 자세히 살펴보고 어떤 데이터베이스 오류가 보고되었는지 확인하고 싶습니다.

내 질문은, 이 파일 잘림이 발생하는 원인은 무엇입니까? 파일 자체는 그다지 크지 않은 것 같습니다. 약 200줄 정도입니다. 이것은 나에게 모두 새로운 것이며 어디서부터 시작해야 할지, 무엇이 잘못되었을지 의심할 수 없습니다.

답변1

/tmp에서 실행되도록 구성될 가능성은 없지만 logrotate 도구는 회전을 수행할 때 파일을 자를 수 있습니다.

또한 프로세스가 추가 플래그 없이 파일에 쓰는 경우 파일이 잘리게 됩니다. Bash에서는 이것이 단일 ">"와 이중 >>"의 차이점입니다. 다른 언어에서는 "w" 패턴이 아닌 "a" 패턴을 사용합니다. 그것은 모두 로그를 작성하는 프로세스에 따라 다릅니다.

관련 정보