파일에 추가된 데이터의 값이 200MB를 초과하면 새 파일을 생성해야 합니다.

파일에 추가된 데이터의 값이 200MB를 초과하면 새 파일을 생성해야 합니다.

저는 ps -ef5분마다 실행되고 출력을 파일에 추가하는 스크립트를 작성했습니다. 현재 파일 크기가 200MB를 초과하는 경우 새 파일을 생성하고 싶습니다. 누구든지 이 문제를 해결하도록 도와줄 수 있나요?

답변1

파일을 첨부하기 전에 스크립트에 이와 같은 내용을 추가할 수 있습니다.

FILE="your-file"
if test $(( $(stat  -c"%s" "$FILE") )) -ge "$(( 200*1024*1024 ))"; then
    mv "$FILE" "$FILE-$(date +"%FT%T")"
fi

답변2

프로그램 을 확인해 보세요 logrotate. 먼저 다음 내용을 포함하는 구성 파일(예: )을 만듭니다 /home/john/logrotate/ps.conf. (출력을 ps에 덤프한다고 가정 /home/john/logrotate/log/ps.log)

/home/john/logrotate/log/ps.log {
    size = 200MB
    missingok
    notifempty
}

그런 다음 crontab을 만들어 실행할 수 있습니다 /usr/bin/logrotate /home/john/logrotate/ps.conf. 바라보다남성압축과 같은 추가 옵션을 보려면

관련 정보