여러 파일 인스턴스가 존재하는지 확인하고 삭제하는 방법

여러 파일 인스턴스가 존재하는지 확인하고 삭제하는 방법

나는 매일 파일과 데이터베이스를 백업하기 위해 매우 간단한 스크립트를 작성했습니다. 이것은 내 스크립트입니다.

mongodump --db DB
name=$( date +%F_%H_%M_%S )
tar zvcf /backup/$name-DB-db.tar.gz dump/
rm -rf dump
name=$( date +%F_%H_%M_%S )
tar zvcf /backup/$name-FILES-files.tar.gz /home/NAME/

tar.gz매일 2개의 파일을 생성하고, 일주일 후에는 14개의 tar.gz 파일을 생성합니다 .

내가 원하는 것은 다음과 같은 출력을 가정하는 것입니다 ls -lh.

2021-06-19_16_02_00-FILES-db.tar.gz
2021-06-19_17_02_00-FILES-db.tar.gz
2021-06-19_16_02_00-FILES-files.tar.gz
2021-06-19_17_02_00-FILES-files.tar.gz
2021-06-19_16_02_05-DB-db.tar.gz
2021-06-19_17_02_05-DB-db.tar.gz
2021-06-19_16_02_08-DB-files.tar.gz
2021-06-19_17_02_08-DB-files.tar.gz

내가 원하는 것은:

Check if more than file {*FILES-db.tar.gz} exists, then remove the old ones and keep the last one. Else, skip.
Check if more than file {*DB-db.tar.gz} exists, then remove the old ones and keep the last one. Else, skip.

결과 ls -lh는 다음과 같아야 합니다.

2021-06-19_17_02_00-FILES-db.tar.gz
2021-06-19_17_02_00-FILES-files.tar.gz
2021-06-19_17_02_05-DB-db.tar.gz
2021-06-19_17_02_08-DB-files.tar.gz

Bash 스크립트에서 어떤 기능이나 명령을 사용해야 합니까?

이 기능은 백업이 완료된 후 bash 스크립트 마지막에 사용하는 것이 가장 좋다고 생각하는데, 더 좋은 방법이나 해결책이 있다면 듣고 싶습니다.

업데이트 1

/etc/logrotate.d/NAME-files:

/backup/*NAME-files.tar.gz {
        daily
        missingok
        rotate 1
        notifempty
}

관련 정보