![여러 파일 인스턴스가 존재하는지 확인하고 삭제하는 방법](https://linux55.com/image/15452/%EC%97%AC%EB%9F%AC%20%ED%8C%8C%EC%9D%BC%20%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4%EA%B0%80%20%EC%A1%B4%EC%9E%AC%ED%95%98%EB%8A%94%EC%A7%80%20%ED%99%95%EC%9D%B8%ED%95%98%EA%B3%A0%20%EC%82%AD%EC%A0%9C%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
나는 매일 파일과 데이터베이스를 백업하기 위해 매우 간단한 스크립트를 작성했습니다. 이것은 내 스크립트입니다.
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
}