Linux에서 최신 6개 파일을 제외한 모든 로그 파일을 삭제하는 스크립트

Linux에서 최신 6개 파일을 제외한 모든 로그 파일을 삭제하는 스크립트

모든 로그 파일을 삭제하고 디렉터리에 생성된 마지막 6개 파일(최신)만 유지하는 방법에 대한 스크립트를 만드는 데 도움이 필요합니다. 제 테스트 서버에서는 /var/log/mqm 파일 시스템이 2~3일 안에 가득 차서 cron 작업을 사용하여 오래된 로그 파일을 삭제해야 합니다.

제가 시도한 방법은 다음과 같습니다. 오늘 생성되지 않은 파일을 삭제하고 싶습니다. 불행히도 매일 100개가 넘는 로그 파일을 받고 있는 것을 볼 수 있기 때문에 예상한 결과를 얻지 못하고 있습니다. 실제로는 최신 6개 파일만 필요합니다.

#!/bin/bash

find /var/log/mqm -name "*.LOG" -type f -mtime +1 > list_of_deleted_logs.out
find /var/log/mqm -name "*.LOG" -type f -mtime +1 -exec rm -f {} \;

관련 정보